diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-07-11 16:27:22 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-07-11 16:27:22 +0200 |
commit | 6b103f4532c23b4855025029ff966abc65092ff3 (patch) | |
tree | a7374739337d90e22cbad9375d6ab50ec437d92d /lib/output/__tests__/generateMock.js | |
parent | d4fa5c18a8049986e224d98738390aac90c411be (diff) | |
download | gitbook-6b103f4532c23b4855025029ff966abc65092ff3.zip gitbook-6b103f4532c23b4855025029ff966abc65092ff3.tar.gz gitbook-6b103f4532c23b4855025029ff966abc65092ff3.tar.bz2 |
Fix #1408: fix i18n in website generator and add tests for it
Diffstat (limited to 'lib/output/__tests__/generateMock.js')
-rw-r--r-- | lib/output/__tests__/generateMock.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/output/__tests__/generateMock.js b/lib/output/__tests__/generateMock.js new file mode 100644 index 0000000..691ee2d --- /dev/null +++ b/lib/output/__tests__/generateMock.js @@ -0,0 +1,40 @@ +var tmp = require('tmp'); + +var Book = require('../../models/book'); +var createMockFS = require('../../fs/mock'); +var parseBook = require('../../parse/parseBook'); +var generateBook = require('../generateBook'); + +/** + * Generate a book using a generator + * And returns the path to the output dir. + * + * FOR TESTING PURPOSE ONLY + * + * @param {Generator} + * @param {Map<String:String|Map>} files + * @return {Promise<String>} + */ +function generateMock(Generator, files) { + var fs = createMockFS(files); + var book = Book.createForFS(fs); + var dir; + + try { + dir = tmp.dirSync(); + } catch(err) { + throw err; + } + + book = book.setLogLevel('disabled'); + + return parseBook(book) + .then(function(resultBook) { + return generateBook(Generator, resultBook, { + root: dir.name + }); + }) + .thenResolve(dir.name); +} + +module.exports = generateMock; |