summaryrefslogtreecommitdiffstats
path: root/lib/output/__tests__/createMock.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-07-11 16:27:22 +0200
committerSamy Pessé <samypesse@gmail.com>2016-07-11 16:27:22 +0200
commit6b103f4532c23b4855025029ff966abc65092ff3 (patch)
treea7374739337d90e22cbad9375d6ab50ec437d92d /lib/output/__tests__/createMock.js
parentd4fa5c18a8049986e224d98738390aac90c411be (diff)
downloadgitbook-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.js38
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;