diff --git a/src/__tests__/guards.js b/src/__tests__/guards.js index 466e639..d84d481 100644 --- a/src/__tests__/guards.js +++ b/src/__tests__/guards.js @@ -79,8 +79,8 @@ test('pseudo element guard', '::first-line', (t, tree) => { t.false(parser.isNamespace(n)); }); -test('special pseudo element guard', ':before:after', (t, tree) => { - [node(tree), node(tree, 1)].forEach((n) => { +test('special pseudo element guard', ':before:after:first-letter:first-line', (t, tree) => { + [node(tree), node(tree, 1), node(tree, 2), node(tree, 3)].forEach((n) => { t.true(parser.isPseudo(n)); t.false(parser.isPseudoClass(n)); t.true(parser.isPseudoElement(n)); @@ -89,8 +89,8 @@ test('special pseudo element guard', ':before:after', (t, tree) => { }); }); -test('special pseudo element guard (uppercase)', ':BEFORE:AFTER', (t, tree) => { - [node(tree), node(tree, 1)].forEach((n) => { +test('special pseudo element guard (uppercase)', ':BEFORE:AFTER:FIRST-LETTER:FIRST-LINE', (t, tree) => { + [node(tree), node(tree, 1), node(tree, 2), node(tree, 3)].forEach((n) => { t.true(parser.isPseudo(n)); t.false(parser.isPseudoClass(n)); t.true(parser.isPseudoElement(n)); diff --git a/src/selectors/guards.js b/src/selectors/guards.js index 44b16a3..54a5018 100644 --- a/src/selectors/guards.js +++ b/src/selectors/guards.js @@ -56,6 +56,8 @@ export function isPseudoElement (node) { node.value.startsWith("::") || node.value.toLowerCase() === ":before" || node.value.toLowerCase() === ":after" + || node.value.toLowerCase() === ":first-letter" + || node.value.toLowerCase() === ":first-line" ); } export function isPseudoClass (node) {