var path = require("path"); var fs = require("fs"); var Plugin = require("../lib/plugin"); var PLUGINS_ROOT = path.resolve(__dirname, "plugins"); describe("Code Highlighting", function () { var book, PAGE; before(function() { return books.generate("highlight", "website", { prepare: function(_book) { book = _book; var plugin = new Plugin(book, "replace_highlight"); plugin.load("./replace_highlight", PLUGINS_ROOT); book.plugins.load(plugin); } }) .then(function() { PAGE = fs.readFileSync( path.join(book.options.output, "index.html"), { encoding: "utf-8" } ); }); }); it("should correctly replace highlighting", function() { PAGE.should.be.html({ "code": { index: 0, text: "code_test 1\n_code" } }); }); it("should correctly replace highlighting with language", function() { PAGE.should.be.html({ "code": { index: 1, text: "lang_test 2\n_lang" } }); }); it("should correctly replace highlighting for inline code", function() { PAGE.should.be.html({ "code": { index: 2, text: "code_test 3_code" } }); }); it("should correctly replace highlighting for inline code with html tags", function() { PAGE.should.be.html({ "code": { index: 3, text: "code__code" } }); }); });