Get a better error for compile(falsy)

This commit is contained in:
Yehuda Katz
2012-12-23 20:15:18 -08:00
parent 19bfbe07f8
commit 9385666e08
2 changed files with 14 additions and 0 deletions
+8
View File
@@ -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;
+6
View File
@@ -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");
});