diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
commit | 34fc2831e0cf0fed01c71cec28d93472d87f455b (patch) | |
tree | a803cc907c20491ba02863b5d3dd5aedf6bfed10 /test/helper.js | |
parent | e1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff) | |
parent | 1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff) | |
download | gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.zip gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.gz gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.bz2 |
Merge branch 'version/2.0'
Diffstat (limited to 'test/helper.js')
-rw-r--r-- | test/helper.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/test/helper.js b/test/helper.js new file mode 100644 index 0000000..5e16bc0 --- /dev/null +++ b/test/helper.js @@ -0,0 +1,62 @@ +var path = require('path'); +var Q = require('q'); +var fs = require('fs'); +var _ = require('lodash'); + +var fsUtil = require("../lib/utils/fs"); +var Book = require('../').Book; +var LOG_LEVELS = require('../').LOG_LEVELS; + +// Nicety for mocha / Q +global.qdone = function qdone(promise, done) { + return promise.then(function() { + return done(); + }, function(err) { + return done(err); + }).done(); +}; + +// Test generation of a book +global.testGeneration = function(book, type, func, done) { + var OUTPUT_PATH = book.options.output; + + qdone( + book.generate(type) + .then(function() { + func(OUTPUT_PATH); + }) + .fin(function() { + return fsUtil.remove(OUTPUT_PATH); + }), + done); +}; + +// Books for testings +var books = fs.readdirSync(path.join(__dirname, './fixtures/')); + +global.books = _.chain(books) + .sortBy() + .map(function(book) { + if (book.indexOf("test") !== 0) return null; + return new Book(path.join(__dirname, './fixtures/', book), { + logLevel: LOG_LEVELS.DISABLED + }); + }) + .compact() + .value(); + +// Init before doing tests +before(function(done) { + + qdone( + _.reduce(global.books, function(prev, book) { + return prev.then(function() { + return fsUtil.remove(path.join(book.root, "_book")); + }) + .then(function() { + return book.parse(); + }); + }, Q()), + done + ); +}); |