diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-06-06 19:24:12 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-06-06 19:24:12 +0200 |
commit | 357e1e8e96174e1b0d74c3c952c1d83f7c04982f (patch) | |
tree | 977ac85460d8fc281cb4f02eb9261903b5cf3723 /lib/templating/__tests__/postRender.js | |
parent | 7a89f9869a08b9427df0c28f6594a7ec9da7c0d7 (diff) | |
download | gitbook-357e1e8e96174e1b0d74c3c952c1d83f7c04982f.zip gitbook-357e1e8e96174e1b0d74c3c952c1d83f7c04982f.tar.gz gitbook-357e1e8e96174e1b0d74c3c952c1d83f7c04982f.tar.bz2 |
Add unit tests for postRender
Diffstat (limited to 'lib/templating/__tests__/postRender.js')
-rw-r--r-- | lib/templating/__tests__/postRender.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/templating/__tests__/postRender.js b/lib/templating/__tests__/postRender.js new file mode 100644 index 0000000..131e29b --- /dev/null +++ b/lib/templating/__tests__/postRender.js @@ -0,0 +1,51 @@ +var TemplateEngine = require('../../models/templateEngine'); +var TemplateBlock = require('../../models/templateBlock'); + +var renderTemplate = require('../render'); +var postRender = require('../postRender'); + +describe('postRender', function() { + var testPost; + var engine = TemplateEngine.create({ + blocks: [ + TemplateBlock.create('lower', function(blk) { + return blk.body.toLowerCase(); + }), + TemplateBlock.create('prefix', function(blk) { + return { + body: '_' + blk.body + '_', + post: function() { + testPost = true; + } + }; + }) + ] + }); + + it('should correctly replace block', function() { + return renderTemplate(engine, 'README.md', 'Hello {% lower %}Samy{% endlower %}') + .then(function(output) { + expect(output.getContent()).toMatch(/Hello \{\{\-([\S]+)\-\}\}/); + expect(output.getBlocks().size).toBe(1); + + return postRender(engine, output); + }) + .then(function(result) { + expect(result).toBe('Hello samy'); + }); + }); + + it('should correctly replace blocks', function() { + return renderTemplate(engine, 'README.md', 'Hello {% lower %}Samy{% endlower %}{% prefix %}Pesse{% endprefix %}') + .then(function(output) { + expect(output.getContent()).toMatch(/Hello \{\{\-([\S]+)\-\}\}\{\{\-([\S]+)\-\}\}/); + expect(output.getBlocks().size).toBe(2); + return postRender(engine, output); + }) + .then(function(result) { + expect(result).toBe('Hello samy_Pesse_'); + expect(testPost).toBe(true); + }); + }); + +}); |