|
|
|
@ -14,6 +14,19 @@ describe('parser', function() {
@@ -14,6 +14,19 @@ describe('parser', function() {
|
|
|
|
|
expect(result).toEqual(11.234); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should stop parsing strings at the end of stream', function() { |
|
|
|
|
var input = new StringStream('1$4)'); |
|
|
|
|
input.getChar = function(super_getChar) { |
|
|
|
|
// simulating end of file using null (see issue 2766)
|
|
|
|
|
var ch = super_getChar.call(input); |
|
|
|
|
return ch == '$' ? null : ch; |
|
|
|
|
}.bind(input, input.getChar); |
|
|
|
|
var lexer = new Lexer(input); |
|
|
|
|
var result = lexer.getString(); |
|
|
|
|
|
|
|
|
|
expect(result).toEqual('1'); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should not throw exception on bad input', function() { |
|
|
|
|
// '8 0 2 15 5 2 2 2 4 3 2 4'
|
|
|
|
|
// should be parsed as
|
|
|
|
|