diff options
author | kpdecker <kpdecker@gmail.com> | 2011-07-31 21:00:44 -0500 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2011-07-31 21:00:44 -0500 |
commit | f53737ef23e5d37ecce932fb7dfb6ae720cbcad7 (patch) | |
tree | e5885f678b8c7bb6301fa571c6e173731ab4233b /spec/qunit_spec.js | |
parent | 1a88356dc3ec86376392405b23f3cba1eaff8f73 (diff) | |
download | handlebars.js-f53737ef23e5d37ecce932fb7dfb6ae720cbcad7.zip handlebars.js-f53737ef23e5d37ecce932fb7dfb6ae720cbcad7.tar.gz handlebars.js-f53737ef23e5d37ecce932fb7dfb6ae720cbcad7.tar.bz2 |
knownHandlers and knownHandlersOnly compile options.
Diffstat (limited to 'spec/qunit_spec.js')
-rw-r--r-- | spec/qunit_spec.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/qunit_spec.js b/spec/qunit_spec.js index ba8173d..1774bbf 100644 --- a/spec/qunit_spec.js +++ b/spec/qunit_spec.js @@ -519,6 +519,46 @@ test("if a context is not found, helperMissing is used", function() { shouldCompileTo(string, context, "Hello <a>world</a>") }); +module("knownHelpers"); + +test("Known helper should render helper", function() { + var template = CompilerContext.compile("{{hello}}", {knownHelpers: {"hello" : true}}) + + var result = template({}, {helpers: {hello: function() { return "foo"; }}}); + equal(result, "foo", "'foo' should === '" + result); +}); + +test("Unknown helper in knownHelpers only mode should be passed as undefined", function() { + var template = CompilerContext.compile("{{typeof hello}}", {knownHelpers: {'typeof': true}, knownHelpersOnly: true}) + + var result = template({}, {helpers: {'typeof': function(arg) { return typeof arg; }, hello: function() { return "foo"; }}}); + equal(result, "undefined", "'undefined' should === '" + result); +}); +test("Builtin helpers available in knownHelpers only mode", function() { + var template = CompilerContext.compile("{{#unless foo}}bar{{/unless}}", {knownHelpersOnly: true}) + + var result = template({}); + equal(result, "bar", "'bar' should === '" + result); +}); +test("Field lookup works in knownHelpers only mode", function() { + var template = CompilerContext.compile("{{foo}}", {knownHelpersOnly: true}) + + var result = template({foo: 'bar'}); + equal(result, "bar", "'bar' should === '" + result); +}); +test("Conditional blocks work in knownHelpers only mode", function() { + var template = CompilerContext.compile("{{#foo}}bar{{/foo}}", {knownHelpersOnly: true}) + + var result = template({foo: 'baz'}); + equal(result, "bar", "'bar' should === '" + result); +}); +test("Invert blocks work in knownHelpers only mode", function() { + var template = CompilerContext.compile("{{^foo}}bar{{/foo}}", {knownHelpersOnly: true}) + + var result = template({foo: false}); + equal(result, "bar", "'bar' should === '" + result); +}); + module("built-in helpers"); test("with", function() { |