From 94ec29dac7d0ebc15e6f54b92a4be3c5a3fadd53 Mon Sep 17 00:00:00 2001 From: Evilebot Tnawi Date: Wed, 7 Mar 2018 21:15:06 +0300 Subject: [PATCH] fix: handle `unicode-range` (#4117) --- package.json | 2 +- src/language-css/printer-postcss.js | 3 +++ .../__snapshots__/jsfmt.spec.js.snap | 19 +++++++++++++++++++ tests/css_parens/parens.css | 10 ++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8202e012..8e7f31b1 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "postcss-media-query-parser": "0.2.3", "postcss-scss": "1.0.4", "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "1.3.2", + "postcss-values-parser": "1.4.0", "read-pkg-up": "3.0.0", "remark-frontmatter": "1.1.0", "remark-parse": "5.0.0", diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 7bacdcdc..af2c9d77 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -689,6 +689,9 @@ function genericPrint(path, options, print) { case "value-atword": { return concat(["@", node.value]); } + case "value-unicode-range": { + return node.value; + } default: /* istanbul ignore next */ throw new Error(`Unknown postcss type ${JSON.stringify(node.type)}`); diff --git a/tests/css_parens/__snapshots__/jsfmt.spec.js.snap b/tests/css_parens/__snapshots__/jsfmt.spec.js.snap index 6fef013c..d9b74ad0 100644 --- a/tests/css_parens/__snapshots__/jsfmt.spec.js.snap +++ b/tests/css_parens/__snapshots__/jsfmt.spec.js.snap @@ -293,6 +293,16 @@ a { filter: progid:DXImageTransform.Microsoft.Shadow(color='#042b47', Direction=45, Strength=6) progid:DXImageTransform.Microsoft.Shadow(color='#042b47', Direction=135, Strength=6); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907)"; } + +.unicode-ranges +{ + /* values */ + unicode-range: U+26; /* single codepoint */ + unicode-range: U+0-7F; + unicode-range: U+0025-00FF; /* codepoint range */ + unicode-range: U+4??; /* wildcard range */ + unicode-range: U+0025-00FF, U+4??; /* multiple values */ +} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ a { prop1: func(1px, 1px, 1px, func(1px, 1px, 1px, func(1px, 1px, 1px))); @@ -497,4 +507,13 @@ a { -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907)"; } +.unicode-ranges { + /* values */ + unicode-range: U+26; /* single codepoint */ + unicode-range: U+0-7F; + unicode-range: U+0025-00FF; /* codepoint range */ + unicode-range: U+4??; /* wildcard range */ + unicode-range: U+0025-00FF, U+4??; /* multiple values */ +} + `; diff --git a/tests/css_parens/parens.css b/tests/css_parens/parens.css index b5a7b2e6..73d9554f 100644 --- a/tests/css_parens/parens.css +++ b/tests/css_parens/parens.css @@ -290,3 +290,13 @@ a { filter: progid:DXImageTransform.Microsoft.Shadow(color='#042b47', Direction=45, Strength=6) progid:DXImageTransform.Microsoft.Shadow(color='#042b47', Direction=135, Strength=6); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fad59f, endColorstr=#fa9907)"; } + +.unicode-ranges +{ + /* values */ + unicode-range: U+26; /* single codepoint */ + unicode-range: U+0-7F; + unicode-range: U+0025-00FF; /* codepoint range */ + unicode-range: U+4??; /* wildcard range */ + unicode-range: U+0025-00FF, U+4??; /* multiple values */ +}