rittenhop-ghost/versions/5.94.2/node_modules/express-hbs/test/localTemplateOptions.js

128 lines
3.4 KiB
JavaScript
Raw Normal View History

'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);
});
});
});
});