diff options
author | kpdecker <kpdecker@gmail.com> | 2014-01-17 20:42:02 -0600 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2014-01-17 20:42:02 -0600 |
commit | d4cfe90959c5a585e5d87e31038eb2f0432f87a5 (patch) | |
tree | 6a7699604f3165f7e089c899ca6b34d1f3a7def2 /spec/tokenizer.js | |
parent | 051618c024333404746795304f5858f3ef56a215 (diff) | |
download | handlebars.js-d4cfe90959c5a585e5d87e31038eb2f0432f87a5.zip handlebars.js-d4cfe90959c5a585e5d87e31038eb2f0432f87a5.tar.gz handlebars.js-d4cfe90959c5a585e5d87e31038eb2f0432f87a5.tar.bz2 |
Allow decimal number values
Fixes #472
Diffstat (limited to 'spec/tokenizer.js')
-rw-r--r-- | spec/tokenizer.js | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/spec/tokenizer.js b/spec/tokenizer.js index 841a5ab..36a632b 100644 --- a/spec/tokenizer.js +++ b/spec/tokenizer.js @@ -295,12 +295,20 @@ describe('Tokenizer', function() { it('tokenizes numbers', function() { var result = tokenize('{{ foo 1 }}'); - shouldMatchTokens(result, ['OPEN', 'ID', 'INTEGER', 'CLOSE']); - shouldBeToken(result[2], "INTEGER", "1"); + shouldMatchTokens(result, ['OPEN', 'ID', 'NUMBER', 'CLOSE']); + shouldBeToken(result[2], "NUMBER", "1"); + + result = tokenize('{{ foo 1.1 }}'); + shouldMatchTokens(result, ['OPEN', 'ID', 'NUMBER', 'CLOSE']); + shouldBeToken(result[2], "NUMBER", "1.1"); result = tokenize('{{ foo -1 }}'); - shouldMatchTokens(result, ['OPEN', 'ID', 'INTEGER', 'CLOSE']); - shouldBeToken(result[2], "INTEGER", "-1"); + shouldMatchTokens(result, ['OPEN', 'ID', 'NUMBER', 'CLOSE']); + shouldBeToken(result[2], "NUMBER", "-1"); + + result = tokenize('{{ foo -1.1 }}'); + shouldMatchTokens(result, ['OPEN', 'ID', 'NUMBER', 'CLOSE']); + shouldBeToken(result[2], "NUMBER", "-1.1"); }); it('tokenizes booleans', function() { @@ -321,7 +329,7 @@ describe('Tokenizer', function() { shouldMatchTokens(result, ['OPEN', 'ID', 'ID', 'ID', 'EQUALS', 'ID', 'CLOSE']); result = tokenize("{{ foo bar baz=1 }}"); - shouldMatchTokens(result, ['OPEN', 'ID', 'ID', 'ID', 'EQUALS', 'INTEGER', 'CLOSE']); + shouldMatchTokens(result, ['OPEN', 'ID', 'ID', 'ID', 'EQUALS', 'NUMBER', 'CLOSE']); result = tokenize("{{ foo bar baz=true }}"); shouldMatchTokens(result, ['OPEN', 'ID', 'ID', 'ID', 'EQUALS', 'BOOLEAN', 'CLOSE']); @@ -389,6 +397,6 @@ describe('Tokenizer', function() { it('tokenizes nested subexpressions: literals', function() { var result = tokenize("{{foo (bar (lol true) false) (baz 1) (blah 'b') (blorg \"c\")}}"); - shouldMatchTokens(result, ['OPEN', 'ID', 'OPEN_SEXPR', 'ID', 'OPEN_SEXPR', 'ID', 'BOOLEAN', 'CLOSE_SEXPR', 'BOOLEAN', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'INTEGER', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'STRING', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'STRING', 'CLOSE_SEXPR', 'CLOSE']); + shouldMatchTokens(result, ['OPEN', 'ID', 'OPEN_SEXPR', 'ID', 'OPEN_SEXPR', 'ID', 'BOOLEAN', 'CLOSE_SEXPR', 'BOOLEAN', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'NUMBER', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'STRING', 'CLOSE_SEXPR', 'OPEN_SEXPR', 'ID', 'STRING', 'CLOSE_SEXPR', 'CLOSE']); }); }); |