UNPKG

3.27 kBJavaScriptView Raw
1'use strict';
2var assert = require('assert');
3var path = require('path');
4var hbs = require('..');
5var H = require('./helpers');
6
7describe('local template options', function () {
8 var dirname = path.join(__dirname, 'localTemplateOptions');
9
10 describe('express3', function () {
11
12 it('merges res.locals._templateOptions with the self._templateOptions', function (done) {
13 var instance = hbs.create();
14 var render = instance.express3({});
15 instance.updateTemplateOptions({
16 data: {
17 greeting: 'Hello,',
18 firstName: 'Freddy',
19 lastName: 'Krueger'
20 }
21 });
22
23 var locals = H.createLocals('express3', dirname, {
24 _templateOptions: {
25 data: {
26 lastName: 'Mercury'
27 }
28 }
29 });
30
31 render(path.join(dirname, 'template.hbs'), locals, function (err, html) {
32 assert.ifError(err);
33 assert.strictEqual(H.stripWs(html), H.stripWs('Hello, Freddy Mercury'));
34 done(err);
35 });
36 });
37
38 it('removes _templateOptions from the locals data', function (done) {
39 var instance = hbs.create();
40 var render = instance.express3({});
41 instance.updateTemplateOptions({
42 data: {
43 greeting: 'Hello,',
44 firstName: 'Freddy',
45 lastName: 'Krueger'
46 }
47 });
48
49 var locals = H.createLocals('express3', dirname, {
50 _templateOptions: {
51 data: {
52 lastName: 'Mercury'
53 }
54 }
55 });
56
57 render(path.join(dirname, 'data-access-template.hbs'), locals, function (err, html) {
58 assert.ifError(err);
59 assert.strictEqual(H.stripWs(html), H.stripWs(''));
60 done(err);
61 });
62 });
63 });
64
65 describe('express4', function () {
66
67 it('merges res.locals._templateOptions with the self._templateOptions', function (done) {
68 var instance = hbs.create();
69 var render = instance.express4({});
70 instance.updateTemplateOptions({
71 data: {
72 greeting: 'Hello,',
73 firstName: 'Freddy',
74 lastName: 'Krueger'
75 }
76 });
77
78 var locals = H.createLocals('express4', dirname, {
79 _templateOptions: {
80 data: {
81 lastName: 'Mercury'
82 }
83 }
84 });
85
86 render(path.join(dirname, 'template.hbs'), locals, function (err, html) {
87 assert.ifError(err);
88 assert.strictEqual(H.stripWs(html), H.stripWs('Hello, Freddy Mercury'));
89 done(err);
90 });
91 });
92
93 it('removes _templateOptions from the locals data', function (done) {
94 var instance = hbs.create();
95 var render = instance.express3({});
96 instance.updateTemplateOptions({
97 data: {
98 greeting: 'Hello,',
99 firstName: 'Freddy',
100 lastName: 'Krueger'
101 }
102 });
103
104 var locals = H.createLocals('express3', dirname, {
105 _templateOptions: {
106 data: {
107 lastName: 'Mercury'
108 }
109 }
110 });
111
112 render(path.join(dirname, 'data-access-template.hbs'), locals, function (err, html) {
113 assert.ifError(err);
114 assert.strictEqual(H.stripWs(html), H.stripWs(''));
115 done(err);
116 });
117 });
118 });
119});