diff options
author | Jesse Clark <jjclark1982@gmail.com> | 2013-05-15 10:38:45 +1000 |
---|---|---|
committer | Jesse Clark <jjclark1982@gmail.com> | 2013-05-15 10:38:45 +1000 |
commit | 229b82bef56961c62538ca30fbd8c120e63a4494 (patch) | |
tree | 9d81eed0d9f8dd8641b9767da1cddd138ad67e71 | |
parent | 531be77138aab9e7d06873d8051236e154050ebf (diff) | |
download | handlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.zip handlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.tar.gz handlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.tar.bz2 |
Add unit tests for require() handler
-rw-r--r-- | lib/handlebars.js | 18 | ||||
-rw-r--r-- | spec/example_1.handlebars | 1 | ||||
-rw-r--r-- | spec/example_2.hbs | 1 | ||||
-rw-r--r-- | spec/qunit_spec.js | 20 |
4 files changed, 31 insertions, 9 deletions
diff --git a/lib/handlebars.js b/lib/handlebars.js index 7767b7a..f82ec3b 100644 --- a/lib/handlebars.js +++ b/lib/handlebars.js @@ -21,15 +21,15 @@ Handlebars.create = create; module.exports = Handlebars; // instantiate an instance -// Publish a Node.js require() handler for handlebars files -if ((typeof(require) !== "undefined") && require.extensions) { - var extension = function(module, filename) { - var fs = require("fs"); - var templateString = fs.readFileSync(filename, 'utf8'); - module.exports = Handlebars.compile(templateString); - }; - require.extensions[".handlebars"] = extension; - require.extensions[".hbs"] = extension; +// Publish a Node.js require() handler for .handlebars and .hbs files +if (require.extensions) { + var extension = function(module, filename) { + var fs = require("fs"); + var templateString = fs.readFileSync(filename, "utf8"); + module.exports = Handlebars.compile(templateString); + }; + require.extensions[".handlebars"] = extension; + require.extensions[".hbs"] = extension; } // BEGIN(BROWSER) diff --git a/spec/example_1.handlebars b/spec/example_1.handlebars new file mode 100644 index 0000000..054e96c --- /dev/null +++ b/spec/example_1.handlebars @@ -0,0 +1 @@ +{{foo}} diff --git a/spec/example_2.hbs b/spec/example_2.hbs new file mode 100644 index 0000000..963eab9 --- /dev/null +++ b/spec/example_2.hbs @@ -0,0 +1 @@ +Hello, {{name}}! diff --git a/spec/qunit_spec.js b/spec/qunit_spec.js index e2f7d47..717aa23 100644 --- a/spec/qunit_spec.js +++ b/spec/qunit_spec.js @@ -1475,6 +1475,26 @@ test('GH-375: Unicode line terminators', function() { shouldCompileTo('\u2028', {}, '\u2028'); }); +test('Load .handlebars files with require()', function() { + var template = require("./example_1"); + assert.deepEqual(template, require("./example_1.handlebars")); + + var expected = 'foo\n'; + var result = template({foo: "foo"}); + + equal(result, expected); +}); + +test('Load .hbs files with require()', function() { + var template = require("./example_2"); + assert.deepEqual(template, require("./example_2.hbs")); + + var expected = 'Hello, World!\n'; + var result = template({name: "World"}); + + equal(result, expected); +}); + suite('Utils'); test('escapeExpression', function() { |