From ee649d376add3bd14aeacc05898ed1c793622d6e Mon Sep 17 00:00:00 2001 From: Cosmin Popovici Date: Thu, 22 Sep 2022 17:27:52 +0300 Subject: [PATCH] fix: check for prop existence when removing rule --- src/transformers/removeInlinedSelectors.js | 2 +- test/test-transformers.js | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/transformers/removeInlinedSelectors.js b/src/transformers/removeInlinedSelectors.js index 43f44247..f5d36e26 100644 --- a/src/transformers/removeInlinedSelectors.js +++ b/src/transformers/removeInlinedSelectors.js @@ -48,7 +48,7 @@ const plugin = () => tree => { * like `margin: 0 0 0 16px` (transformed with mergeLonghand when inlining). */ Object.keys(styleAttr).forEach(key => { - if (prop.includes(key)) { + if (prop && prop.includes(key)) { rule.remove() remove(classAttr, s => selector.includes(s)) } diff --git a/test/test-transformers.js b/test/test-transformers.js index 5aee0b36..59ba7342 100644 --- a/test/test-transformers.js +++ b/test/test-transformers.js @@ -386,7 +386,7 @@ test('markdown (disabled)', async t => { t.is(html, '> a quote') }) -test('remove inlined selectors', async t => { +test.only('remove inlined selectors', async t => { const html = ` @@ -395,7 +395,6 @@ test('remove inlined selectors', async t => { border: 0; vertical-align: middle } - .hover-text-blue:hover { color: #00a8ff; } @@ -412,6 +411,11 @@ test('remove inlined selectors', async t => { #keepId {float:none} + .foo-class { + /* COMMENT */ + color: red; + } + @media (max-width: 600px) { .ignore {color: blue} } @@ -421,7 +425,7 @@ test('remove inlined selectors', async t => { -
+

Title

text
@@ -441,6 +445,11 @@ test('remove inlined selectors', async t => { #keepId {float:none} + .foo-class { + /* COMMENT */ + color: red; + } + @media (max-width: 600px) { .ignore {color: blue} } @@ -450,7 +459,7 @@ test('remove inlined selectors', async t => { -
+

Title

text