diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-04-30 19:00:35 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-04-30 19:00:35 +0200 |
commit | a5f4596f8d863d8eb7061ef50f78346bde25d7ac (patch) | |
tree | dc3183f7bce34f2b87e59fcd124d929901a2e91b /lib/models | |
parent | 5f3c3760c06e516d694c0f218bc86ea286ede410 (diff) | |
download | gitbook-a5f4596f8d863d8eb7061ef50f78346bde25d7ac.zip gitbook-a5f4596f8d863d8eb7061ef50f78346bde25d7ac.tar.gz gitbook-a5f4596f8d863d8eb7061ef50f78346bde25d7ac.tar.bz2 |
Add tests for templateEngine
Diffstat (limited to 'lib/models')
-rw-r--r-- | lib/models/__tests__/templateEngine.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/models/__tests__/templateEngine.js b/lib/models/__tests__/templateEngine.js new file mode 100644 index 0000000..6f18b18 --- /dev/null +++ b/lib/models/__tests__/templateEngine.js @@ -0,0 +1,51 @@ + +describe('TemplateBlock', function() { + var TemplateEngine = require('../templateEngine'); + + describe('create', function() { + it('must initialize with a list of filters', function() { + var engine = TemplateEngine.create({ + filters: { + hello: function(name) { + return 'Hello ' + name + '!'; + } + } + }); + var env = engine.toNunjucks(); + var res = env.renderString('{{ "Luke"|hello }}'); + + expect(res).toBe('Hello Luke!'); + }); + + it('must initialize with a list of globals', function() { + var engine = TemplateEngine.create({ + globals: { + hello: function(name) { + return 'Hello ' + name + '!'; + } + } + }); + var env = engine.toNunjucks(); + var res = env.renderString('{{ hello("Luke") }}'); + + expect(res).toBe('Hello Luke!'); + }); + + it('must pass context to filters and blocks', function() { + var engine = TemplateEngine.create({ + filters: { + hello: function(name) { + return 'Hello ' + name + ' ' + this.lastName + '!'; + } + }, + context: { + lastName: 'Skywalker' + } + }); + var env = engine.toNunjucks(); + var res = env.renderString('{{ "Luke"|hello }}'); + + expect(res).toBe('Hello Luke Skywalker!'); + }); + }); +});
\ No newline at end of file |