diff options
-rw-r--r-- | lib/handlebars/compiler/compiler.js | 8 | ||||
-rw-r--r-- | spec/qunit_spec.js | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/handlebars/compiler/compiler.js b/lib/handlebars/compiler/compiler.js index 7578dd2..1481098 100644 --- a/lib/handlebars/compiler/compiler.js +++ b/lib/handlebars/compiler/compiler.js @@ -1035,6 +1035,10 @@ Handlebars.JavaScriptCompiler = function() {}; })(Handlebars.Compiler, Handlebars.JavaScriptCompiler); Handlebars.precompile = function(string, options) { + if (typeof string !== 'string') { + throw new Handlebars.Exception("You must pass a string to Handlebars.compile. You passed " + string); + } + options = options || {}; var ast = Handlebars.parse(string); @@ -1043,6 +1047,10 @@ Handlebars.precompile = function(string, options) { }; Handlebars.compile = function(string, options) { + if (typeof string !== 'string') { + throw new Handlebars.Exception("You must pass a string to Handlebars.compile. You passed " + string); + } + options = options || {}; var compiled; diff --git a/spec/qunit_spec.js b/spec/qunit_spec.js index 5c94253..07dde10 100644 --- a/spec/qunit_spec.js +++ b/spec/qunit_spec.js @@ -1245,3 +1245,9 @@ test("bug reported by @fat where lambdas weren't being properly resolved", funct var output = "<strong>This is a slightly more complicated blah.</strong>.\n\nCheck this out:\n\n<ul>\n\n<li class=one>@fat</li>\n\n<li class=two>@dhg</li>\n\n<li class=three>@sayrer</li>\n</ul>.\n\n"; shouldCompileTo(string, data, output); }); + +test("Passing falsy values to Handlebars.compile throws an error", function() { + shouldThrow(function() { + CompilerContext.compile(null); + }, "You must pass a string to Handlebars.compile. You passed null"); +}); |