Skip to content

Commit

Permalink
Add unit tests for require() handler
Browse files Browse the repository at this point in the history
  • Loading branch information
jjclark1982 committed May 15, 2013
1 parent 531be77 commit 229b82b
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 9 deletions.
18 changes: 9 additions & 9 deletions lib/handlebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions spec/example_1.handlebars
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{foo}}
1 change: 1 addition & 0 deletions spec/example_2.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Hello, {{name}}!
20 changes: 20 additions & 0 deletions spec/qunit_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down

0 comments on commit 229b82b

Please sign in to comment.