honkit
Version:
HonKit is building beautiful books using Markdown.
50 lines (49 loc) • 1.9 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("../templateEngine"));
describe("TemplateBlock", () => {
describe("create", () => {
test("must initialize with a list of filters", () => {
const engine = templateEngine_1.default.create({
filters: {
hello: function (name) {
return `Hello ${name}!`;
},
},
});
const env = engine.toNunjucks();
const res = env.renderString('{{ "Luke"|hello }}', {});
expect(res).toBe("Hello Luke!");
});
test("must initialize with a list of globals", () => {
const engine = templateEngine_1.default.create({
globals: {
hello: function (name) {
return `Hello ${name}!`;
},
},
});
const env = engine.toNunjucks();
const res = env.renderString('{{ hello("Luke") }}', {});
expect(res).toBe("Hello Luke!");
});
test("must pass context to filters and blocks", () => {
const engine = templateEngine_1.default.create({
filters: {
hello: function (name) {
return `Hello ${name} ${this.lastName}!`;
},
},
context: {
lastName: "Skywalker",
},
});
const env = engine.toNunjucks();
const res = env.renderString('{{ "Luke"|hello }}', {});
expect(res).toBe("Hello Luke Skywalker!");
});
});
});