From 6437f15d96755e77670991956314f8c7d7965ea7 Mon Sep 17 00:00:00 2001 From: uhyo Date: Fri, 26 May 2023 15:05:09 +0900 Subject: [PATCH 1/4] add failing tests --- tests/lib/rules/no-custom-classname.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/lib/rules/no-custom-classname.js b/tests/lib/rules/no-custom-classname.js index f20988c3..9db2fc7d 100644 --- a/tests/lib/rules/no-custom-classname.js +++ b/tests/lib/rules/no-custom-classname.js @@ -1354,5 +1354,13 @@ ruleTester.run("no-custom-classname", rule, { ], errors: generateErrors("yolo custom"), }, + { + code: `
Full-width space between classes
`, + errors: generateErrors("px-1\u3000py-2"), + }, + { + code: `
Full-width space before and after classes
`, + errors: generateErrors("\u3000px-1 py-2\u3000"), + }, ], }); From fd8281afb8f982d7cf2b0cf56a1bbadab65801fd Mon Sep 17 00:00:00 2001 From: uhyo Date: Fri, 26 May 2023 15:14:03 +0900 Subject: [PATCH 2/4] test passes --- lib/util/ast.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/util/ast.js b/lib/util/ast.js index 21c025e8..fea7cb07 100644 --- a/lib/util/ast.js +++ b/lib/util/ast.js @@ -217,7 +217,7 @@ function extractClassnamesFromValue(classStr) { if (typeof classStr !== 'string') { return { classNames: [], whitespaces: [], headSpace: false, tailSpace: false }; } - const separatorRegEx = /(\s+)/; + const separatorRegEx = /([\t\n\f\r ]+)/; let parts = classStr.split(separatorRegEx); if (parts[0] === '') { parts.shift(); From 96b8e91dadb211e68dd33da1aac829263f5c24c4 Mon Sep 17 00:00:00 2001 From: uhyo Date: Fri, 26 May 2023 15:17:17 +0900 Subject: [PATCH 3/4] add failing test --- tests/lib/rules/classnames-order.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/lib/rules/classnames-order.js b/tests/lib/rules/classnames-order.js index 286ddf0a..2d0cf80a 100644 --- a/tests/lib/rules/classnames-order.js +++ b/tests/lib/rules/classnames-order.js @@ -913,7 +913,7 @@ ruleTester.run("classnames-order", rule, { code: `