var _ = require('lodash'); var should = require('should'); 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, "highlight"); plugin.load("./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' } }); }); });