File tree 1 file changed +46
-0
lines changed
1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,52 @@ class SelectorsTest < Minitest::Spec
66
66
end
67
67
end
68
68
69
+ it "parses a compound selector with a pseudo-class" do
70
+ actual = parse_selectors ( "div.flex:hover" )
71
+
72
+ assert_pattern do
73
+ actual => [
74
+ Selectors ::CompoundSelector [
75
+ type : { value : { name : { value : "div" } } } ,
76
+ subclasses : [
77
+ Selectors ::ClassSelector [ value : { value : "flex" } ] ,
78
+ Selectors ::PseudoClassSelector [ value : { value : "hover" } ] ,
79
+ ] ,
80
+ ]
81
+ ]
82
+ end
83
+ end
84
+
85
+ it "parses a compound selector with pseudo-elements and pseudo-classes" do
86
+ actual = parse_selectors ( "div.flex:hover::first-line:last-child::first-letter" )
87
+
88
+ assert_pattern do
89
+ actual => [
90
+ Selectors ::CompoundSelector [
91
+ type : { value : { name : { value : "div" } } } ,
92
+ subclasses : [
93
+ Selectors ::ClassSelector [ value : { value : "flex" } ] ,
94
+ Selectors ::PseudoClassSelector [ value : { value : "hover" } ] ,
95
+ ] ,
96
+ pseudo_elements : [
97
+ [
98
+ Selectors ::PseudoElementSelector [
99
+ Selectors ::PseudoClassSelector [ value : { value : "first-line" } ] ,
100
+ ] ,
101
+ [ Selectors ::PseudoClassSelector [ value : { value : "last-child" } ] ] ,
102
+ ] ,
103
+ [
104
+ Selectors ::PseudoElementSelector [
105
+ Selectors ::PseudoClassSelector [ value : { value : "first-letter" } ] ,
106
+ ] ,
107
+ [ ] ,
108
+ ]
109
+ ]
110
+ ]
111
+ ]
112
+ end
113
+ end
114
+
69
115
it "parses a complex selector" do
70
116
actual = parse_selectors ( "section>table" )
71
117
You can’t perform that action at this time.
0 commit comments