Skip to content

Commit 00285b2

Browse files
committed
A few more tests for #188
1 parent 5a65b24 commit 00285b2

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

src/Template.js

+8
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,14 @@ class Template extends TemplateContent {
654654
);
655655
}
656656

657+
filters = filters.map((extension) => {
658+
if (extension.startsWith(".")) {
659+
return extension;
660+
}
661+
662+
return `.${extension}`;
663+
});
664+
657665
if (!filters.some((extension) => extension === "*" || inputPath.endsWith(extension))) {
658666
// skip
659667
continue;

test/EleventyTest.js

+62-1
Original file line numberDiff line numberDiff line change
@@ -1528,7 +1528,7 @@ test("#1419: Shortcode in a permalink", async (t) => {
15281528
t.is(results[0].url, `/url-slug/`);
15291529
});
15301530

1531-
test("#188: Content preprocessing", async (t) => {
1531+
test("#188: Content preprocessing (dot in file extension)", async (t) => {
15321532
let elev = new Eleventy("./test/stubs-virtual/", undefined, {
15331533
config: eleventyConfig => {
15341534
eleventyConfig.addPreprocessor("drafts", ".njk", (data, content) => {
@@ -1547,3 +1547,64 @@ test("#188: Content preprocessing", async (t) => {
15471547
t.is(results.length, 1);
15481548
t.is(results[0].content, `Hello Before`);
15491549
});
1550+
1551+
test("#188: Content preprocessing (no dot in file extension)", async (t) => {
1552+
let elev = new Eleventy("./test/stubs-virtual/", undefined, {
1553+
config: eleventyConfig => {
1554+
eleventyConfig.addPreprocessor("drafts", "njk", (data, content) => {
1555+
if(data.draft) {
1556+
return false;
1557+
}
1558+
return `Hello ${content}`;
1559+
});
1560+
1561+
eleventyConfig.addTemplate("index.njk", "Before");
1562+
eleventyConfig.addTemplate("draft.njk", "Before", { draft: true });
1563+
}
1564+
});
1565+
1566+
let results = await elev.toJSON();
1567+
t.is(results.length, 1);
1568+
t.is(results[0].content, `Hello Before`);
1569+
});
1570+
1571+
1572+
test("#188: Content preprocessing (array, no dot in file extension)", async (t) => {
1573+
let elev = new Eleventy("./test/stubs-virtual/", undefined, {
1574+
config: eleventyConfig => {
1575+
eleventyConfig.addPreprocessor("drafts", ["njk"], (data, content) => {
1576+
if(data.draft) {
1577+
return false;
1578+
}
1579+
return `Hello ${content}`;
1580+
});
1581+
1582+
eleventyConfig.addTemplate("index.njk", "Before");
1583+
eleventyConfig.addTemplate("draft.njk", "Before", { draft: true });
1584+
}
1585+
});
1586+
1587+
let results = await elev.toJSON();
1588+
t.is(results.length, 1);
1589+
t.is(results[0].content, `Hello Before`);
1590+
});
1591+
1592+
test("#188: Content preprocessing (array, dot in file extension)", async (t) => {
1593+
let elev = new Eleventy("./test/stubs-virtual/", undefined, {
1594+
config: eleventyConfig => {
1595+
eleventyConfig.addPreprocessor("drafts", [".njk"], (data, content) => {
1596+
if(data.draft) {
1597+
return false;
1598+
}
1599+
return `Hello ${content}`;
1600+
});
1601+
1602+
eleventyConfig.addTemplate("index.njk", "Before");
1603+
eleventyConfig.addTemplate("draft.njk", "Before", { draft: true });
1604+
}
1605+
});
1606+
1607+
let results = await elev.toJSON();
1608+
t.is(results.length, 1);
1609+
t.is(results[0].content, `Hello Before`);
1610+
});

0 commit comments

Comments
 (0)