var fs = require("fs"); var path = require("path"); describe("eBook generator", function () { describe("Basic Book", function() { var book; before(function() { return books.generate("basic", "ebook") .then(function(_book) { book = _book; }); }); it("should correctly output a SUMMARY.html", function() { book.should.have.file("SUMMARY.html"); }); it("should correctly copy assets", function() { book.should.have.file("gitbook"); book.should.have.file("gitbook/style.css"); }); }); describe("Custom styles", function() { var book; before(function() { return books.generate("style-print", "ebook") .then(function(_book) { book = _book; }); }); it("should remove default print.css", function() { var PAGE = fs.readFileSync( path.join(book.options.output, "index.html"), { encoding: "utf-8" } ); // There are 2 styles (one from plugin-highlight and the new style) PAGE.should.be.html({ "link": { count: 2 } }); PAGE.should.be.html({ "link[href=\"./styles/print.css\"]": { count: 1 } }); PAGE.should.be.html({ "link[href=\"gitbook/plugins/gitbook-plugin-highlight/ebook.css\"]": { count: 1 } }); }); it("should correctly print.css", function() { book.should.have.file("styles"); book.should.have.file("styles/print.css"); }); }); });