From 49ce1b4c30b898080ee1aea9dc8be7aefa64cd3e Mon Sep 17 00:00:00 2001 From: Alexander Futekov Date: Tue, 24 Aug 2021 19:30:07 +0300 Subject: [PATCH 1/4] CSS4 selectors added Adding :is :has and :where pseudo selectors --- lib/parser.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/parser.js b/lib/parser.js index 7ba67a6be..b2fef5511 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -68,6 +68,9 @@ var selectorTokens = [ var pseudoSelectors = [ // Logical Combinations 'matches' + , 'is' + , 'has' + , 'where' , 'not' // Linguistic Pseudo-classes From 152be2a12b1f590b3aa56171529fe86069783735 Mon Sep 17 00:00:00 2001 From: Alexander Futekov Date: Sun, 5 Sep 2021 19:05:00 +0300 Subject: [PATCH 2/4] added test cases for is,has, and where --- test/cases/selectors.pseudo.css | 12 ++++++++++++ test/cases/selectors.pseudo.styl | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/test/cases/selectors.pseudo.css b/test/cases/selectors.pseudo.css index 66188e825..fb1ba2fab 100644 --- a/test/cases/selectors.pseudo.css +++ b/test/cases/selectors.pseudo.css @@ -94,3 +94,15 @@ label input:blank, label span { color: #014; } +label input:is, +label span { + color: #015; +} +label input:has, +label span { + color: #016; +} +label input:where, +label span { + color: #017; +} diff --git a/test/cases/selectors.pseudo.styl b/test/cases/selectors.pseudo.styl index 0a655fe3c..455149c9c 100644 --- a/test/cases/selectors.pseudo.styl +++ b/test/cases/selectors.pseudo.styl @@ -83,3 +83,12 @@ label input:blank span color #014 + input:is + span + color #015 + input:has + span + color #016 + input:where + span + color #017 From b92a0ef9f7fd104774642d2ebbe6fb0bf0463d31 Mon Sep 17 00:00:00 2001 From: Alexander Futekov Date: Sun, 5 Sep 2021 19:12:46 +0300 Subject: [PATCH 3/4] fix failing test --- test/cases/selectors.pseudo.css | 4 ---- test/cases/selectors.pseudo.styl | 7 ++++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/test/cases/selectors.pseudo.css b/test/cases/selectors.pseudo.css index fb1ba2fab..3b7d1e29a 100644 --- a/test/cases/selectors.pseudo.css +++ b/test/cases/selectors.pseudo.css @@ -94,10 +94,6 @@ label input:blank, label span { color: #014; } -label input:is, -label span { - color: #015; -} label input:has, label span { color: #016; diff --git a/test/cases/selectors.pseudo.styl b/test/cases/selectors.pseudo.styl index 455149c9c..b7e0a6729 100644 --- a/test/cases/selectors.pseudo.styl +++ b/test/cases/selectors.pseudo.styl @@ -83,9 +83,10 @@ label input:blank span color #014 - input:is - span - color #015 +// throws illegal unary "==", missing left-hand operand +// input:is +// span +// color #015 input:has span color #016 From efc117a8ea22eedee9fc80c53da7da33927d4835 Mon Sep 17 00:00:00 2001 From: Alexander Futekov Date: Sun, 5 Sep 2021 19:18:56 +0300 Subject: [PATCH 4/4] fixed tests again now all 378 tests pass successfully, was failing due to wrong indentation --- test/cases/selectors.pseudo.styl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/cases/selectors.pseudo.styl b/test/cases/selectors.pseudo.styl index b7e0a6729..1c358261c 100644 --- a/test/cases/selectors.pseudo.styl +++ b/test/cases/selectors.pseudo.styl @@ -83,10 +83,10 @@ label input:blank span color #014 -// throws illegal unary "==", missing left-hand operand -// input:is -// span -// color #015 + // throws illegal unary "==", missing left-hand operand + // input:is + // span + // color #015 input:has span color #016