summaryrefslogtreecommitdiffstats
path: root/spec/tokenizer.js
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2014-01-17 20:42:02 -0600
committerkpdecker <kpdecker@gmail.com>2014-01-17 20:42:02 -0600
commitd4cfe90959c5a585e5d87e31038eb2f0432f87a5 (patch)
tree6a7699604f3165f7e089c899ca6b34d1f3a7def2 /spec/tokenizer.js
parent051618c024333404746795304f5858f3ef56a215 (diff)
downloadhandlebars.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.js20
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']);
});
});