UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

58 lines (57 loc) 2.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const assert_1 = __importDefault(require("assert")); const generateMock_1 = require("../testing/generateMock"); const immutable_1 = __importDefault(require("immutable")); const generatePages_1 = __importDefault(require("../generatePages")); const plugin_1 = __importDefault(require("../../models/plugin")); const json_1 = __importDefault(require("../json")); const createOutputWithPlugin = async ({ Generator, plugin, files }) => { const { output } = await (0, generateMock_1.generateMockBook)(Generator, files); // add plugin return output.merge({ plugins: [plugin], }); }; describe("plugin-hooks", function () { it(`should be called "page" and "page:before" when generate each pages`, async () => { let onPageBeforeCount = 0; let onPageCount = 0; const plugin = new plugin_1.default({ name: "testplugin", version: "*", path: "test.js", package: immutable_1.default.fromJS({ name: "testplugin", }), content: immutable_1.default.fromJS({ hooks: { "page:before": function (page) { onPageBeforeCount++; return page; }, page: function (page) { onPageCount++; return page; }, }, }), }); const output = await createOutputWithPlugin({ Generator: json_1.default, plugin, files: { "README.md": "Hello World", }, }); // call twice await (0, generatePages_1.default)(json_1.default, output); await (0, generatePages_1.default)(json_1.default, output); // assert assert_1.default.strictEqual(onPageBeforeCount, 2); assert_1.default.strictEqual(onPageCount, 2); }); });