-
-
Notifications
You must be signed in to change notification settings - Fork 481
/
EleventyImgTransformTest.js
80 lines (72 loc) · 2.58 KB
/
EleventyImgTransformTest.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import test from "ava";
import Eleventy from "../src/Eleventy.js";
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
import { normalizeNewLines } from "./Util/normalizeNewLines.js";
test("Default image transform with a single image", async (t) => {
let elev = new Eleventy("./test/stubs-img-transform/single.md", "./test/stubs-img-transform/_site", {
config: eleventyConfig => {
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
extensions: "html",
dryRun: true,
formats: ["auto"],
defaultAttributes: {
loading: "lazy",
decoding: "async"
}
});
}
});
let [result] = await elev.toJSON();
t.deepEqual(normalizeNewLines(result.content), `<img loading="eager" decoding="async" src="/single/IdthKOzqFA-350.png" alt="it’s a possum" width="350" height="685">`);
});
test("Default image transform with multiple images", async (t) => {
let elev = new Eleventy("./test/stubs-img-transform/multiple.md", "./test/stubs-img-transform/_site", {
config: eleventyConfig => {
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
extensions: "html",
dryRun: true,
formats: ["auto"],
defaultAttributes: {
loading: "lazy",
decoding: "async"
}
});
}
});
let [result] = await elev.toJSON();
t.deepEqual(normalizeNewLines(result.content), `<img loading="eager" decoding="async" src="/multiple/IdthKOzqFA-350.png" alt="it’s a possum" width="350" height="685">
<img loading="lazy" decoding="async" src="/multiple/IdthKOzqFA-350.png" alt="it’s a possum" width="350" height="685">`);
});
test("Default image transform with an ignored image", async (t) => {
let elev = new Eleventy("./test/stubs-img-transform/ignored.md", "./test/stubs-img-transform/_site", {
config: eleventyConfig => {
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
extensions: "html",
dryRun: true,
formats: ["auto"],
defaultAttributes: {
loading: "lazy",
decoding: "async"
}
});
}
});
let [result] = await elev.toJSON();
t.deepEqual(normalizeNewLines(result.content), `<img src="./possum.png" alt="it’s a possum" loading="eager">`);
});
test("Missing alt", async (t) => {
let elev = new Eleventy("./test/stubs-img-transform/missing-alt.md", "./test/stubs-img-transform/_site", {
config: eleventyConfig => {
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
extensions: "html",
dryRun: true,
formats: ["auto"],
});
}
});
elev.setIsVerbose(false);
elev.disableLogger();
await t.throwsAsync(async () => {
await elev.toJSON();
});
});