diff --git a/src/generators/extractSelectors.ts b/src/generators/extractSelectors.ts index 25e0fa8a2c..d838296551 100644 --- a/src/generators/extractSelectors.ts +++ b/src/generators/extractSelectors.ts @@ -134,6 +134,10 @@ function attributeMatches(node: Node, selector: Node) { return actualValue === expectedValue; } + if(selector.operator === '~=') { + return actualValue.split(/\s/).indexOf(expectedValue) !== -1; + } + return true; } diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/_config.js b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/_config.js new file mode 100644 index 0000000000..32cdf8cb79 --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/_config.js @@ -0,0 +1,6 @@ +export default { + cascade: false, + data: { + dynamic: 'whatever' + } +}; \ No newline at end of file diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.css b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.css new file mode 100644 index 0000000000..ca5ed2b2ba --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.css @@ -0,0 +1,4 @@ + + [data-foo~='bar'][svelte-25731322] { + color: red; + } diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.html b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.html new file mode 100644 index 0000000000..4908f49985 --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/expected.html @@ -0,0 +1,2 @@ +

this is styled

+

this is unstyled

\ No newline at end of file diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/input.html b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/input.html new file mode 100644 index 0000000000..e8e95d9eac --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals-dynamic/input.html @@ -0,0 +1,10 @@ +
+

this is styled

+

this is unstyled

+
+ + \ No newline at end of file diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/_config.js b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/_config.js new file mode 100644 index 0000000000..b37866f9b6 --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/_config.js @@ -0,0 +1,3 @@ +export default { + cascade: false +}; \ No newline at end of file diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.css b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.css new file mode 100644 index 0000000000..20cf2fd9e3 --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.css @@ -0,0 +1,4 @@ + + [data-foo~='bar'][svelte-1786044856] { + color: red; + } diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.html b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.html new file mode 100644 index 0000000000..aef480d8ef --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/expected.html @@ -0,0 +1,2 @@ +

this is styled

+

this is unstyled

\ No newline at end of file diff --git a/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/input.html b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/input.html new file mode 100644 index 0000000000..026d7d6ed2 --- /dev/null +++ b/test/css/samples/omit-scoping-attribute-attribute-selector-word-equals/input.html @@ -0,0 +1,10 @@ +
+

this is styled

+

this is unstyled

+
+ + \ No newline at end of file