Skip to content

Commit f83c4cc

Browse files
committed
fix: CompoundSelector#child_nodes should not include nil type
1 parent eb3e2a7 commit f83c4cc

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

lib/syntax_tree/css/selectors.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def accept(visitor)
125125
end
126126

127127
def child_nodes
128-
[type, subclasses, pseudo_elements].flatten
128+
[type, subclasses, pseudo_elements].compact.flatten
129129
end
130130

131131
alias deconstruct child_nodes

test/selectors_test.rb

+18
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@ class SelectorsTest < Minitest::Spec
2727
]
2828
]
2929
end
30+
31+
assert_pattern do
32+
actual => [
33+
Selectors::CompoundSelector[
34+
Selectors::ClassSelector[value: { value: "flex" }],
35+
Selectors::ClassSelector[value: { value: "text-xl" }]
36+
]
37+
]
38+
end
3039
end
3140

3241
it "parses a compound selector" do
@@ -41,6 +50,15 @@ class SelectorsTest < Minitest::Spec
4150
]
4251
]
4352
end
53+
54+
assert_pattern do
55+
actual => [
56+
Selectors::CompoundSelector[
57+
Selectors::TypeSelector[value: { name: { value: "div" } } ],
58+
Selectors::ClassSelector[value: { value: "flex" }],
59+
]
60+
]
61+
end
4462
end
4563

4664
it "parses a compound selector with a pseudo-element" do

0 commit comments

Comments
 (0)