Allow undefined and null in helper names

This commit is contained in:
kpdecker
2015-04-13 21:18:53 -05:00
parent 37a664bf64
commit dfd141cd35
4 changed files with 21 additions and 3 deletions
+14
View File
@@ -74,6 +74,20 @@ describe("basic context", function() {
}
},
'true true object');
shouldCompileTo('{{undefined}}',
{
undefined: function() {
return 'undefined!';
}
},
'undefined!');
shouldCompileTo('{{null}}',
{
null: function() {
return 'null!';
}
},
'null!');
});
it("newlines", function() {
+1 -1
View File
@@ -23,7 +23,7 @@ describe('javascript-compiler api', function() {
// Tests nameLookup dot vs. bracket behavior. Bracket is required in certain cases
// to avoid errors in older browsers.
it('should handle reserved words', function() {
shouldCompileTo("{{foo}} {{~[null]~}}", { foo: "food" }, "food");
shouldCompileTo("{{foo}} {{~null~}}", { foo: "food" }, "food");
});
});
describe('#compilerInfo', function() {
+4
View File
@@ -58,6 +58,10 @@ describe('parser', function() {
equals(ast_for("{{foo false}}"), "{{ PATH:foo [BOOLEAN{false}] }}\n");
});
it('parses mustaches with undefined and null paths', function() {
equals(ast_for("{{undefined}}"), "{{ UNDEFINED [] }}\n");
equals(ast_for("{{null}}"), "{{ NULL [] }}\n");
});
it('parses mustaches with undefined and null parameters', function() {
equals(ast_for("{{foo undefined null}}"), "{{ PATH:foo [UNDEFINED, NULL] }}\n");
});
+2 -2
View File
@@ -83,8 +83,6 @@ partial
param
: helperName -> $1
| sexpr -> $1
| UNDEFINED -> new yy.UndefinedLiteral(yy.locInfo(@$))
| NULL -> new yy.NullLiteral(yy.locInfo(@$))
;
sexpr
@@ -109,6 +107,8 @@ helperName
| STRING -> new yy.StringLiteral($1, yy.locInfo(@$))
| NUMBER -> new yy.NumberLiteral($1, yy.locInfo(@$))
| BOOLEAN -> new yy.BooleanLiteral($1, yy.locInfo(@$))
| UNDEFINED -> new yy.UndefinedLiteral(yy.locInfo(@$))
| NULL -> new yy.NullLiteral(yy.locInfo(@$))
;
partialName