diff --git a/src/language-css/clean.js b/src/language-css/clean.js index 29e979e30..a3ad6776c 100644 --- a/src/language-css/clean.js +++ b/src/language-css/clean.js @@ -66,7 +66,7 @@ function clean(ast, newObj) { } if (ast.type === "selector-attribute") { - newObj.attribute = newObj.attribute.replace(/ /g, ""); + newObj.attribute = newObj.attribute.replace(/\s/g, ""); if (newObj.value) { newObj.value = newObj.value.trim().replace(/^['"]|['"]$/g, ""); diff --git a/tests/css_attribute/__snapshots__/jsfmt.spec.js.snap b/tests/css_attribute/__snapshots__/jsfmt.spec.js.snap index 435ae5a6d..a2abcc43e 100644 --- a/tests/css_attribute/__snapshots__/jsfmt.spec.js.snap +++ b/tests/css_attribute/__snapshots__/jsfmt.spec.js.snap @@ -72,6 +72,9 @@ exports[`spaces.css 1`] = ` [lang ] {} [ lang ] {} [ lang ] {} +[ +lang +] {} span[lang] {} span[ lang] {} span[lang ] {} @@ -84,20 +87,50 @@ span[lang = 'pt'] {} span[lang = 'pt'] {} span[lang='pt' ] {} span[lang='pt' ] {} +span[ +lang += +'pt' +] {} span[ lang ~= 'en-us' ] {} span[ lang ~= 'en-us' ] {} span[ lang |='zh' ] {} +span[ +lang +~= +'en-us' +] {} a[ href ^= '#' ] {} a[ href $= '.cn' ] {} a[ href *= 'example' ] {} +a[ +href +*= +'example' +] {} input[ type = 'radio' i ] {} input[ type = 'radio' i ] {} input[ type ~= 'radio' i ] {} input[ type ~= 'radio' i ] {} +input[ +type +~= +'radio' +i +] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} +img[ +alt +~= +'person' +][ +src +*= +'lorem' +] {} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [lang] { } @@ -109,7 +142,7 @@ img[ alt ~= 'person' ][ src *= 'lorem' ] {} } [lang] { } -span[lang] { +[lang] { } span[lang] { } @@ -119,6 +152,10 @@ span[lang] { } span[lang] { } +span[lang] { +} +span[lang="pt"] { +} span[lang="pt"] { } span[lang="pt"] { @@ -139,12 +176,16 @@ span[lang~="en-us"] { } span[lang|="zh"] { } +span[lang~="en-us"] { +} a[href^="#"] { } a[href$=".cn"] { } a[href*="example"] { } +a[href*="example"] { +} input[type="radio" i] { } input[type="radio" i] { @@ -153,6 +194,8 @@ input[type~="radio" i] { } input[type~="radio" i] { } +input[type~="radio" i] { +} img[alt="person"][src="lorem"] { } img[alt="person"][src="lorem"] { @@ -161,6 +204,8 @@ img[alt~="person"][src*="lorem"] { } img[alt~="person"][src*="lorem"] { } +img[alt~="person"][src*="lorem"] { +} `; @@ -170,6 +215,9 @@ exports[`spaces.css 2`] = ` [lang ] {} [ lang ] {} [ lang ] {} +[ +lang +] {} span[lang] {} span[ lang] {} span[lang ] {} @@ -182,20 +230,50 @@ span[lang = 'pt'] {} span[lang = 'pt'] {} span[lang='pt' ] {} span[lang='pt' ] {} +span[ +lang += +'pt' +] {} span[ lang ~= 'en-us' ] {} span[ lang ~= 'en-us' ] {} span[ lang |='zh' ] {} +span[ +lang +~= +'en-us' +] {} a[ href ^= '#' ] {} a[ href $= '.cn' ] {} a[ href *= 'example' ] {} +a[ +href +*= +'example' +] {} input[ type = 'radio' i ] {} input[ type = 'radio' i ] {} input[ type ~= 'radio' i ] {} input[ type ~= 'radio' i ] {} +input[ +type +~= +'radio' +i +] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} +img[ +alt +~= +'person' +][ +src +*= +'lorem' +] {} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [lang] { } @@ -207,7 +285,7 @@ img[ alt ~= 'person' ][ src *= 'lorem' ] {} } [lang] { } -span[lang] { +[lang] { } span[lang] { } @@ -217,6 +295,10 @@ span[lang] { } span[lang] { } +span[lang] { +} +span[lang='pt'] { +} span[lang='pt'] { } span[lang='pt'] { @@ -237,12 +319,16 @@ span[lang~='en-us'] { } span[lang|='zh'] { } +span[lang~='en-us'] { +} a[href^='#'] { } a[href$='.cn'] { } a[href*='example'] { } +a[href*='example'] { +} input[type='radio' i] { } input[type='radio' i] { @@ -251,6 +337,8 @@ input[type~='radio' i] { } input[type~='radio' i] { } +input[type~='radio' i] { +} img[alt='person'][src='lorem'] { } img[alt='person'][src='lorem'] { @@ -259,5 +347,7 @@ img[alt~='person'][src*='lorem'] { } img[alt~='person'][src*='lorem'] { } +img[alt~='person'][src*='lorem'] { +} `; diff --git a/tests/css_attribute/spaces.css b/tests/css_attribute/spaces.css index 840d2d72c..37ab9c67d 100644 --- a/tests/css_attribute/spaces.css +++ b/tests/css_attribute/spaces.css @@ -3,6 +3,9 @@ [lang ] {} [ lang ] {} [ lang ] {} +[ +lang +] {} span[lang] {} span[ lang] {} span[lang ] {} @@ -15,17 +18,47 @@ span[lang = 'pt'] {} span[lang = 'pt'] {} span[lang='pt' ] {} span[lang='pt' ] {} +span[ +lang += +'pt' +] {} span[ lang ~= 'en-us' ] {} span[ lang ~= 'en-us' ] {} span[ lang |='zh' ] {} +span[ +lang +~= +'en-us' +] {} a[ href ^= '#' ] {} a[ href $= '.cn' ] {} a[ href *= 'example' ] {} +a[ +href +*= +'example' +] {} input[ type = 'radio' i ] {} input[ type = 'radio' i ] {} input[ type ~= 'radio' i ] {} input[ type ~= 'radio' i ] {} +input[ +type +~= +'radio' +i +] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt = 'person' ][ src = 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} img[ alt ~= 'person' ][ src *= 'lorem' ] {} +img[ +alt +~= +'person' +][ +src +*= +'lorem' +] {}