summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Clark <jjclark1982@gmail.com>2013-05-15 10:38:45 +1000
committerJesse Clark <jjclark1982@gmail.com>2013-05-15 10:38:45 +1000
commit229b82bef56961c62538ca30fbd8c120e63a4494 (patch)
tree9d81eed0d9f8dd8641b9767da1cddd138ad67e71
parent531be77138aab9e7d06873d8051236e154050ebf (diff)
downloadhandlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.zip
handlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.tar.gz
handlebars.js-229b82bef56961c62538ca30fbd8c120e63a4494.tar.bz2
Add unit tests for require() handler
-rw-r--r--lib/handlebars.js18
-rw-r--r--spec/example_1.handlebars1
-rw-r--r--spec/example_2.hbs1
-rw-r--r--spec/qunit_spec.js20
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() {