honkit
Version:
HonKit is building beautiful books using Markdown.
53 lines (52 loc) • 2.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const templateEngine_1 = __importDefault(require("../../models/templateEngine"));
const templateBlock_1 = __importDefault(require("../../models/templateBlock"));
const render_1 = __importDefault(require("../render"));
const postRender_1 = __importDefault(require("../postRender"));
describe("postRender", () => {
let testPost;
const engine = templateEngine_1.default.create({
blocks: [
templateBlock_1.default.create("lower", (blk) => {
return blk.body.toLowerCase();
}),
templateBlock_1.default.create("prefix", (blk) => {
return {
body: `_${blk.body}_`,
post: function () {
testPost = true;
},
};
}),
],
});
test("should correctly replace block", () => {
// @ts-expect-error ts-migrate(2554) FIXME: Expected 4 arguments, but got 3.
return (0, render_1.default)(engine, "README.md", "Hello {% lower %}Samy{% endlower %}")
.then((output) => {
expect(output.getContent()).toMatch(/Hello \{\{\-([\S]+)\-\}\}/);
expect(output.getBlocks().size).toBe(1);
return (0, postRender_1.default)(engine, output);
})
.then((result) => {
expect(result).toBe("Hello samy");
});
});
test("should correctly replace blocks", () => {
// @ts-expect-error ts-migrate(2554) FIXME: Expected 4 arguments, but got 3.
return (0, render_1.default)(engine, "README.md", "Hello {% lower %}Samy{% endlower %}{% prefix %}Pesse{% endprefix %}")
.then((output) => {
expect(output.getContent()).toMatch(/Hello \{\{\-([\S]+)\-\}\}\{\{\-([\S]+)\-\}\}/);
expect(output.getBlocks().size).toBe(2);
return (0, postRender_1.default)(engine, output);
})
.then((result) => {
expect(result).toBe("Hello samy_Pesse_");
expect(testPost).toBe(true);
});
});
});