/
rejectedCss.test.ts
41 lines (40 loc) · 1.58 KB
/
rejectedCss.test.ts
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
import PurgeCSS from "./../src/index";
import { ROOT_TEST_EXAMPLES } from "./utils";
describe("rejectedCss", () => {
it("returns the rejected css as part of the result", async () => {
expect.assertions(1);
const resultsPurge = await new PurgeCSS().purge({
content: [`${ROOT_TEST_EXAMPLES}rejectedCss/simple.js`],
css: [`${ROOT_TEST_EXAMPLES}rejectedCss/simple.css`],
rejectedCss: true,
});
const expected = `
.rejected {
color: blue;
}`;
expect(resultsPurge[0].rejectedCss?.trim()).toBe(expected.trim());
});
it("contains the rejected selectors as part of the rejected css", async () => {
expect.assertions(1);
const resultsPurge = await new PurgeCSS().purge({
content: [`${ROOT_TEST_EXAMPLES}rejectedCss/simple.js`],
css: [`${ROOT_TEST_EXAMPLES}rejectedCss/simple.css`],
rejected: true,
rejectedCss: true,
});
expect(resultsPurge[0].rejectedCss?.trim()).toContain(resultsPurge[0].rejected?.[0]);
});
/**
* https://github.com/FullHuman/purgecss/pull/763#discussion_r754618902
*/
it("preserves the node correctly when having an empty parent node", async () => {
expect.assertions(1);
const resultsPurge = await new PurgeCSS().purge({
content: [`${ROOT_TEST_EXAMPLES}rejectedCss/empty-parent-node.js`],
css: [`${ROOT_TEST_EXAMPLES}rejectedCss/empty-parent-node.css`],
rejectedCss: true,
});
const expected = `@media (max-width: 66666px) {\n .unused-class, .unused-class2 {\n color: black;\n }\n}`;
expect(resultsPurge[0].rejectedCss?.trim()).toEqual(expected);
});
});