Increment after scanning >= and <= (and expect EOF in tests)
This commit is contained in:
@@ -721,6 +721,7 @@ ol.expression.Lexer.prototype.scanPunctuator_ = function(code) {
|
|||||||
|
|
||||||
if (code === ol.expression.Char.GREATER ||
|
if (code === ol.expression.Char.GREATER ||
|
||||||
code === ol.expression.Char.LESS) {
|
code === ol.expression.Char.LESS) {
|
||||||
|
this.increment_(2);
|
||||||
return {
|
return {
|
||||||
type: ol.expression.TokenType.PUNCTUATOR,
|
type: ol.expression.TokenType.PUNCTUATOR,
|
||||||
value: String.fromCharCode(code) + '='
|
value: String.fromCharCode(code) + '='
|
||||||
|
|||||||
@@ -93,9 +93,13 @@ describe('ol.expression.Lexer', function() {
|
|||||||
|
|
||||||
describe('#scanIdentifier_()', function() {
|
describe('#scanIdentifier_()', function() {
|
||||||
|
|
||||||
function scan(source) {
|
function scan(source, part) {
|
||||||
var lexer = new ol.expression.Lexer(source);
|
var lexer = new ol.expression.Lexer(source);
|
||||||
return lexer.scanIdentifier_(lexer.getCurrentCharCode_());
|
var token = lexer.scanIdentifier_(lexer.getCurrentCharCode_());
|
||||||
|
if (!part) {
|
||||||
|
expect(lexer.peek().type).to.be(ol.expression.TokenType.EOF);
|
||||||
|
}
|
||||||
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
it('works for short identifiers', function() {
|
it('works for short identifiers', function() {
|
||||||
@@ -171,7 +175,7 @@ describe('ol.expression.Lexer', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('only scans valid identifier part', function() {
|
it('only scans valid identifier part', function() {
|
||||||
var token = scan('foo>bar');
|
var token = scan('foo>bar', true);
|
||||||
expect(token.value).to.be('foo');
|
expect(token.value).to.be('foo');
|
||||||
expect(token.type).to.be(ol.expression.TokenType.IDENTIFIER);
|
expect(token.type).to.be(ol.expression.TokenType.IDENTIFIER);
|
||||||
});
|
});
|
||||||
@@ -182,7 +186,9 @@ describe('ol.expression.Lexer', function() {
|
|||||||
|
|
||||||
function scan(source) {
|
function scan(source) {
|
||||||
var lexer = new ol.expression.Lexer(source);
|
var lexer = new ol.expression.Lexer(source);
|
||||||
return lexer.scanNumericLiteral_(lexer.getCurrentCharCode_());
|
var token = lexer.scanNumericLiteral_(lexer.getCurrentCharCode_());
|
||||||
|
expect(lexer.peek().type).to.be(ol.expression.TokenType.EOF);
|
||||||
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
it('works for integers', function() {
|
it('works for integers', function() {
|
||||||
@@ -233,7 +239,9 @@ describe('ol.expression.Lexer', function() {
|
|||||||
|
|
||||||
function scan(source) {
|
function scan(source) {
|
||||||
var lexer = new ol.expression.Lexer(source);
|
var lexer = new ol.expression.Lexer(source);
|
||||||
return lexer.scanPunctuator_(lexer.getCurrentCharCode_());
|
var token = lexer.scanPunctuator_(lexer.getCurrentCharCode_());
|
||||||
|
expect(lexer.peek().type).to.be(ol.expression.TokenType.EOF);
|
||||||
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
it('works for dot', function() {
|
it('works for dot', function() {
|
||||||
@@ -320,7 +328,9 @@ describe('ol.expression.Lexer', function() {
|
|||||||
|
|
||||||
function scan(source) {
|
function scan(source) {
|
||||||
var lexer = new ol.expression.Lexer(source);
|
var lexer = new ol.expression.Lexer(source);
|
||||||
return lexer.scanStringLiteral_(lexer.getCurrentCharCode_());
|
var token = lexer.scanStringLiteral_(lexer.getCurrentCharCode_());
|
||||||
|
expect(lexer.peek().type).to.be(ol.expression.TokenType.EOF);
|
||||||
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
it('parses double quoted string', function() {
|
it('parses double quoted string', function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user