summaryrefslogtreecommitdiffstats
path: root/lib/output/__tests__/generateMock.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__/generateMock.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__/generateMock.js')
-rw-r--r--lib/output/__tests__/generateMock.js40
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;