File tree Expand file tree Collapse file tree 3 files changed +22
-3
lines changed
Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -108,7 +108,7 @@ def get_elements_by_class_name(class_name)
108108 elements = ElementCollection . new
109109 children . each do |child |
110110 elements << child if child . class_list . include? ( class_name )
111- elements . concat ( child . get_elements_by_tag_name ( tag_name ) )
111+ elements . concat ( child . get_elements_by_class_name ( class_name ) )
112112 end
113113 elements
114114 end
@@ -129,7 +129,7 @@ def indent_level
129129 def each ( &block )
130130 [ to_s ] . each ( &block )
131131 end
132-
132+
133133 def inspect
134134 to_s
135135 end
Original file line number Diff line number Diff line change @@ -22,6 +22,10 @@ def build(string)
2222 @content = string
2323 end
2424
25+ def class_list
26+ [ ]
27+ end
28+
2529 def tag_name
2630 nil
2731 end
Original file line number Diff line number Diff line change 6161 } . get_elements_by_class_name ( "my_class" ) . size ) . to eq ( 0 )
6262 end
6363
64+ it "should allow text nodes on tree" do
65+ expect ( arbre {
66+ text_node "text"
67+ } . get_elements_by_class_name ( "my_class" ) . size ) . to eq ( 0 )
68+ end
69+
6470 it "should return a child element" do
6571 html = arbre do
6672 div :class => "some_class"
95101 expect ( elements [ 0 ] ) . to be_instance_of ( Arbre ::HTML ::Div )
96102 end
97103
98- # TODO: find children's children by class name
104+ it "should return a grandchild element" do
105+ html = arbre do
106+ div :class => "some_class" do
107+ div :class => "my_class"
108+ end
109+ end
110+ elements = html . get_elements_by_class_name ( "my_class" )
111+ expect ( elements . size ) . to eq ( 1 )
112+ expect ( elements [ 0 ] ) . to be_instance_of ( Arbre ::HTML ::Div )
113+ end
99114
100115 end
101116end
You can’t perform that action at this time.
0 commit comments