UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

49 lines (48 loc) 2.03 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const html_1 = require("@honkit/html"); const promise_1 = __importDefault(require("../../../utils/promise")); const highlightCode_1 = __importDefault(require("../highlightCode")); describe("highlightCode", () => { function doHighlight(lang, code) { return { text: `${lang || ""}$${code}` }; } function doHighlightAsync(lang, code) { return (0, promise_1.default)().then(() => { return doHighlight(lang, code); }); } test("should call it for normal code element", () => { const $ = (0, html_1.loadHtml)("<p>This is a <code>test</code></p>"); return (0, highlightCode_1.default)(doHighlight, $).then(() => { const $code = $("code"); expect($code.text()).toBe("$test"); }); }); test("should call it for markdown code block", () => { const $ = (0, html_1.loadHtml)("<pre><code class=\"lang-js\">test</code></pre>"); return (0, highlightCode_1.default)(doHighlight, $).then(() => { const $code = $("code"); expect($code.text()).toBe("js$test"); }); }); test("should call it for asciidoc code block", () => { const $ = (0, html_1.loadHtml)("<pre><code class=\"language-python\">test</code></pre>"); return (0, highlightCode_1.default)(doHighlight, $).then(() => { const $code = $("code"); expect($code.text()).toBe("python$test"); }); }); test("should accept async highlighter", () => { const $ = (0, html_1.loadHtml)("<pre><code class=\"language-python\">test</code></pre>"); return (0, highlightCode_1.default)(doHighlightAsync, $).then(() => { const $code = $("code"); expect($code.text()).toBe("python$test"); }); }); });