diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-01-31 17:01:50 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-01-31 17:01:50 +0100 |
commit | a24aa79dbf5be625ec3fdac50aca955c0b478fec (patch) | |
tree | c2f9c15ae7c703d8bb1e100198108369bafb7174 /test | |
parent | 633de85180b1c968edc3e884821c3de668d23506 (diff) | |
download | gitbook-a24aa79dbf5be625ec3fdac50aca955c0b478fec.zip gitbook-a24aa79dbf5be625ec3fdac50aca955c0b478fec.tar.gz gitbook-a24aa79dbf5be625ec3fdac50aca955c0b478fec.tar.bz2 |
Add base for templating
Diffstat (limited to 'test')
-rw-r--r-- | test/all.js | 2 | ||||
-rw-r--r-- | test/mock.js | 19 | ||||
-rw-r--r-- | test/output-json.js | 4 | ||||
-rw-r--r-- | test/template.js | 32 |
4 files changed, 55 insertions, 2 deletions
diff --git a/test/all.js b/test/all.js index 0c1deba..4a5ba83 100644 --- a/test/all.js +++ b/test/all.js @@ -7,5 +7,7 @@ require('./glossary'); require('./langs'); require('./parse'); +require('./template'); + // Output require('./output-json'); diff --git a/test/mock.js b/test/mock.js index 919a992..973c74d 100644 --- a/test/mock.js +++ b/test/mock.js @@ -7,6 +7,7 @@ require('should'); require('should-promised'); var Book = require('../').Book; +var Output = require('../lib/output'); var NodeFS = require('../lib/fs/node'); // Create filesystem instance for testing @@ -57,7 +58,23 @@ function setupDefaultBook(files, opts) { }), opts); } +// Output a book with a specific generator +function outputDefaultBook(generator, files, opts) { + return setupDefaultBook(files, opts) + .then(function(book) { + // Parse the book + return book.parse() + + // Start generation + .then(function() { + var output = new Output(book, generator); + return output.generate(); + }); + }); +} + module.exports = { setupBook: setupBook, - setupDefaultBook: setupDefaultBook + setupDefaultBook: setupDefaultBook, + outputDefaultBook: outputDefaultBook }; diff --git a/test/output-json.js b/test/output-json.js index 8d276c6..9e70771 100644 --- a/test/output-json.js +++ b/test/output-json.js @@ -1,6 +1,8 @@ var mock = require('./mock'); describe('JSON Output', function() { - + it('should correctly generate a default book', function() { + return mock.outputDefaultBook('json'); + }); }); diff --git a/test/template.js b/test/template.js new file mode 100644 index 0000000..b55693f --- /dev/null +++ b/test/template.js @@ -0,0 +1,32 @@ +var mock = require('./mock'); +var TemplateEngine = require('../lib/template'); + +var pkg = require('../package.json'); + +describe('Template', function() { + var book, tpl; + + before(function() { + return mock.setupDefaultBook() + .then(function(_book) { + book = _book; + return book.parse(); + }) + .then(function() { + tpl = new TemplateEngine(book); + }); + }); + + describe('.renderString', function() { + it('should render a simple string', function() { + return tpl.renderString('Hello World') + .should.be.fulfilledWith('Hello World'); + }); + + it('should render with variable', function() { + return tpl.renderString('Version is {{ gitbook.version }}') + .should.be.fulfilledWith('Version is '+pkg.version); + }); + }); + +}); |