Scan numeric literals

This commit is contained in:
Tim Schaub
2013-06-05 19:05:56 -06:00
parent 81b344715a
commit 193cf4de50
2 changed files with 263 additions and 34 deletions

View File

@@ -9,6 +9,50 @@ describe('ol.expression.Lexer', function() {
});
});
describe('#scanNumericLiteral_()', function() {
function scan(code) {
var lexer = new ol.expression.Lexer(code);
return lexer.scanNumericLiteral_();
}
it('works for integers', function() {
var token = scan('123');
expect(token.value).to.be(123);
});
it('works for float', function() {
var token = scan('123.456');
expect(token.value).to.be(123.456);
});
it('works with exponent', function() {
var token = scan('1.234e5');
expect(token.value).to.be(1.234e5);
});
it('works with explicit positive exponent', function() {
var token = scan('1.234e+5');
expect(token.value).to.be(1.234e5);
});
it('works with negative exponent', function() {
var token = scan('1.234e-5');
expect(token.value).to.be(1.234e-5);
});
it('works with octals', function() {
var token = scan('02322');
expect(token.value).to.be(1234);
});
it('works with hex', function() {
var token = scan('0x4d2');
expect(token.value).to.be(1234);
});
});
});
goog.require('ol.expression.Lexer');