summaryrefslogtreecommitdiffstats
path: root/test/ebook.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ebook.js')
-rw-r--r--test/ebook.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/ebook.js b/test/ebook.js
new file mode 100644
index 0000000..d02e7cd
--- /dev/null
+++ b/test/ebook.js
@@ -0,0 +1,36 @@
+var path = require('path');
+var _ = require('lodash');
+var assert = require('assert');
+var cheerio = require('cheerio');
+
+var fs = require("fs");
+var fsUtil = require("../lib/utils/fs");
+
+
+describe('eBook Generator', function () {
+ it('should correctly generate ebook pages', function(done) {
+ testGeneration(books[1], "ebook", function(output) {
+ assert(fs.existsSync(path.join(output, "SUMMARY.html")));
+ }, done);
+ });
+
+ it('should correctly convert svg images to png', function(done) {
+ testGeneration(books[4], "ebook", function(output) {
+ // Check that all images exists
+ _.each([
+ "index.html",
+ "sub/PAGE.html"
+ ], function(pageName) {
+ var pageFile = path.join(output, pageName);
+ var pageFolder = path.dirname(pageFile);
+ var pageContent = fs.readFileSync(pageFile, {encoding: "utf8"});
+ var $ = cheerio.load(pageContent);
+
+ $("img").each(function() {
+ var src = $(this).attr("src");
+ assert(fs.existsSync(path.resolve(pageFolder, src)), src+" not found for page "+pageName);
+ })
+ });
+ }, done);
+ });
+});