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__/createMock.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__/createMock.js')
-rw-r--r-- | lib/output/__tests__/createMock.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/output/__tests__/createMock.js b/lib/output/__tests__/createMock.js new file mode 100644 index 0000000..f21c544 --- /dev/null +++ b/lib/output/__tests__/createMock.js @@ -0,0 +1,38 @@ +var Immutable = require('immutable'); + +var Output = require('../../models/output'); +var Book = require('../../models/book'); +var parseBook = require('../../parse/parseBook'); +var createMockFS = require('../../fs/mock'); +var preparePlugins = require('../preparePlugins'); + +/** + * Create an output using a generator + * + * FOR TESTING PURPOSE ONLY + * + * @param {Generator} generator + * @param {Map<String:String|Map>} files + * @return {Promise<Output>} + */ +function createMockOutput(generator, files, options) { + var fs = createMockFS(files); + var book = Book.createForFS(fs); + var state = generator.State? generator.State({}) : Immutable.Map(); + + book = book.setLogLevel('disabled'); + options = generator.Options(options); + + return parseBook(book) + .then(function(resultBook) { + return new Output({ + book: resultBook, + options: options, + state: state, + generator: generator.name + }); + }) + .then(preparePlugins); +} + +module.exports = createMockOutput; |