-
-
Notifications
You must be signed in to change notification settings - Fork 515
/
Copy pathTemplateRenderHTMLTest.js
56 lines (46 loc) · 1.83 KB
/
TemplateRenderHTMLTest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import test from "ava";
import TemplateRender from "../src/TemplateRender.js";
import EleventyExtensionMap from "../src/EleventyExtensionMap.js";
import TemplateEngineManager from "../src/Engines/TemplateEngineManager.js";
import { getTemplateConfigInstance } from "./_testHelpers.js";
async function getNewTemplateRender(name, inputDir) {
let eleventyConfig = await getTemplateConfigInstance({
dir: {
input: inputDir
}
});
let tr = new TemplateRender(name, eleventyConfig);
tr.extensionMap = new EleventyExtensionMap(eleventyConfig);
tr.extensionMap.engineManager = new TemplateEngineManager(eleventyConfig);
tr.extensionMap.setFormats([]);
await tr.init();
return tr;
}
// HTML
test("HTML", async (t) => {
let tr = await getNewTemplateRender("html");
t.is(tr.getEngineName(), "html");
});
test("HTML Render", async (t) => {
let tr = await getNewTemplateRender("html");
let fn = await tr.getCompiledTemplate("<p>Paragraph</p>");
t.is(await fn(), "<p>Paragraph</p>");
t.is(await fn({}), "<p>Paragraph</p>");
});
test("HTML Render: Parses HTML using liquid engine (default, with data)", async (t) => {
let tr = await getNewTemplateRender("html");
let fn = await tr.getCompiledTemplate("<h1>{{title}}</h1>");
t.is((await fn({ title: "My Title" })).trim(), "<h1>My Title</h1>");
});
test("HTML Render: Set HTML engine to false, don’t parse", async (t) => {
let tr = await getNewTemplateRender("html");
tr.setHtmlEngine(false);
let fn = await tr.getCompiledTemplate("<h1>{{title}}</h1>");
t.is((await fn()).trim(), "<h1>{{title}}</h1>");
});
test("HTML Render: Pass in an override (liquid)", async (t) => {
let tr = await getNewTemplateRender("html");
tr.setHtmlEngine("liquid");
let fn = await tr.getCompiledTemplate("<h1>{{title}}</h1>");
t.is((await fn({ title: "My Title" })).trim(), "<h1>My Title</h1>");
});