diff options
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); + }); + }); + +}); |