mirror of
https://github.com/CryptKeeperZK/ejs.git
synced 2026-01-08 15:13:50 -05:00
test(includer): unit tests for includer function option
This commit is contained in:
30
test/ejs.js
30
test/ejs.js
@@ -999,6 +999,36 @@ suite('include()', function () {
|
||||
fixture('include.html'));
|
||||
});
|
||||
|
||||
test('include ejs with custom includer function', function () {
|
||||
var file = 'test/fixtures/include-root.ejs';
|
||||
var inc = function (url, prev) {
|
||||
if (url.charAt(0) === '/') {
|
||||
return {
|
||||
filename: path.join(__dirname, 'fixtures', prev)
|
||||
};
|
||||
} else {
|
||||
return prev;
|
||||
}
|
||||
};
|
||||
assert.equal(ejs.render(fixture('include-root.ejs'), {pets: users}, {filename: file, delimiter: '@', includer: inc}),
|
||||
fixture('include.html'));
|
||||
});
|
||||
|
||||
test('include ejs with includer returning template', function () {
|
||||
var file = 'test/fixtures/include-root.ejs';
|
||||
var inc = function (url, prev) {
|
||||
if (prev === '/include.ejs') {
|
||||
return {
|
||||
template: '<p>Hello template!</p>\n'
|
||||
};
|
||||
} else {
|
||||
return prev;
|
||||
}
|
||||
};
|
||||
assert.equal(ejs.render(fixture('include-root.ejs'), {pets: users}, {filename: file, delimiter: '@', includer: inc}),
|
||||
fixture('hello-template.html'));
|
||||
});
|
||||
|
||||
test('work when nested', function () {
|
||||
var file = 'test/fixtures/menu.ejs';
|
||||
assert.equal(ejs.render(fixture('menu.ejs'), {pets: users}, {filename: file}),
|
||||
|
||||
1
test/fixtures/hello-template.html
vendored
Normal file
1
test/fixtures/hello-template.html
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<p>Hello template!</p>
|
||||
Reference in New Issue
Block a user