128 lines
3.4 KiB
JavaScript
128 lines
3.4 KiB
JavaScript
|
'use strict';
|
||
|
var assert = require('assert');
|
||
|
var path = require('path');
|
||
|
var hbs = require('..');
|
||
|
var H = require('./helpers');
|
||
|
|
||
|
describe('local template options', function () {
|
||
|
var dirname = path.join(__dirname, 'localTemplateOptions');
|
||
|
|
||
|
describe('express3', function () {
|
||
|
|
||
|
it('merges res.locals._templateOptions with the self._templateOptions', function (done) {
|
||
|
var instance = hbs.create();
|
||
|
var render = instance.express3({
|
||
|
restrictLayoutsTo: dirname
|
||
|
});
|
||
|
instance.updateTemplateOptions({
|
||
|
data: {
|
||
|
greeting: 'Hello,',
|
||
|
firstName: 'Freddy',
|
||
|
lastName: 'Krueger'
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var locals = H.createLocals('express3', dirname, {
|
||
|
_templateOptions: {
|
||
|
data: {
|
||
|
lastName: 'Mercury'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
render(path.join(dirname, 'template.hbs'), locals, function (err, html) {
|
||
|
assert.ifError(err);
|
||
|
assert.strictEqual(H.stripWs(html), H.stripWs('Hello, Freddy Mercury'));
|
||
|
done(err);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('removes _templateOptions from the locals data', function (done) {
|
||
|
var instance = hbs.create();
|
||
|
var render = instance.express3({
|
||
|
restrictLayoutsTo: dirname
|
||
|
});
|
||
|
instance.updateTemplateOptions({
|
||
|
data: {
|
||
|
greeting: 'Hello,',
|
||
|
firstName: 'Freddy',
|
||
|
lastName: 'Krueger'
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var locals = H.createLocals('express3', dirname, {
|
||
|
_templateOptions: {
|
||
|
data: {
|
||
|
lastName: 'Mercury'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
render(path.join(dirname, 'data-access-template.hbs'), locals, function (err, html) {
|
||
|
assert.ifError(err);
|
||
|
assert.strictEqual(H.stripWs(html), H.stripWs(''));
|
||
|
done(err);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('express4', function () {
|
||
|
|
||
|
it('merges res.locals._templateOptions with the self._templateOptions', function (done) {
|
||
|
var instance = hbs.create();
|
||
|
var render = instance.express4({
|
||
|
restrictLayoutsTo: dirname
|
||
|
});
|
||
|
instance.updateTemplateOptions({
|
||
|
data: {
|
||
|
greeting: 'Hello,',
|
||
|
firstName: 'Freddy',
|
||
|
lastName: 'Krueger'
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var locals = H.createLocals('express4', dirname, {
|
||
|
_templateOptions: {
|
||
|
data: {
|
||
|
lastName: 'Mercury'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
render(path.join(dirname, 'template.hbs'), locals, function (err, html) {
|
||
|
assert.ifError(err);
|
||
|
assert.strictEqual(H.stripWs(html), H.stripWs('Hello, Freddy Mercury'));
|
||
|
done(err);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('removes _templateOptions from the locals data', function (done) {
|
||
|
var instance = hbs.create();
|
||
|
var render = instance.express3({
|
||
|
restrictLayoutsTo: dirname
|
||
|
});
|
||
|
instance.updateTemplateOptions({
|
||
|
data: {
|
||
|
greeting: 'Hello,',
|
||
|
firstName: 'Freddy',
|
||
|
lastName: 'Krueger'
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var locals = H.createLocals('express3', dirname, {
|
||
|
_templateOptions: {
|
||
|
data: {
|
||
|
lastName: 'Mercury'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
render(path.join(dirname, 'data-access-template.hbs'), locals, function (err, html) {
|
||
|
assert.ifError(err);
|
||
|
assert.strictEqual(H.stripWs(html), H.stripWs(''));
|
||
|
done(err);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|