@@ -5,7 +5,7 @@ describe Lexbor do
5
5
html = " <div><p id=p1><p id=p2><p id=p3><a>link</a><p id=p4><p id=p5><p id=p6></div>"
6
6
selector = " div > :nth-child(2n+1):not(:has(a))"
7
7
8
- parser = Lexbor :: Parser .new(html)
8
+ parser = Lexbor .new(html)
9
9
finder = Lexbor ::CssFilter .new(selector)
10
10
nodes = finder.search_from(parser.html!).to_a
11
11
@@ -23,7 +23,7 @@ describe Lexbor do
23
23
it " css for root! node" do
24
24
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
25
25
26
- parser = Lexbor :: Parser .new(html)
26
+ parser = Lexbor .new(html)
27
27
nodes = parser.root!.css(" div > :nth-child(2n+1):not(:has(a))" ).to_a
28
28
29
29
nodes.size.should eq 2
@@ -40,21 +40,21 @@ describe Lexbor do
40
40
it " another rule" do
41
41
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
42
42
43
- parser = Lexbor :: Parser .new(html)
43
+ parser = Lexbor .new(html)
44
44
parser.root!.css(" .jo" ).to_a.map(& .attribute_by(" id" )).should eq %w(p2 p4 p6)
45
45
end
46
46
47
47
it " another rule for parser itself" do
48
48
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
49
49
50
- parser = Lexbor :: Parser .new(html)
50
+ parser = Lexbor .new(html)
51
51
parser.css(" .jo" ).to_a.map(& .attribute_by(" id" )).should eq %w(p2 p4 p6)
52
52
end
53
53
54
54
it " work for another scope node" do
55
55
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><div id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></div></div>"
56
56
57
- parser = Lexbor :: Parser .new(html)
57
+ parser = Lexbor .new(html)
58
58
parser.nodes(:div ).to_a.last.css(" .jo" ).to_a.map(& .attribute_by(" id" )).should eq %w(p4 p6)
59
59
parser.nodes(:div ).to_a.first.css(" .jo" ).to_a.map(& .attribute_by(" id" )).should eq %w(p2 p4 p6)
60
60
end
@@ -63,7 +63,7 @@ describe Lexbor do
63
63
it " for parser" do
64
64
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
65
65
66
- parser = Lexbor :: Parser .new(html)
66
+ parser = Lexbor .new(html)
67
67
finder = Lexbor ::CssFilter .new(" .jo" )
68
68
69
69
10 .times do
@@ -76,7 +76,7 @@ describe Lexbor do
76
76
it " for parser" do
77
77
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
78
78
79
- parser = Lexbor :: Parser .new(html)
79
+ parser = Lexbor .new(html)
80
80
finder = Lexbor ::CssFilter .new(" .jo" )
81
81
82
82
10 .times do
@@ -87,7 +87,7 @@ describe Lexbor do
87
87
it " for root node" do
88
88
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
89
89
90
- parser = Lexbor :: Parser .new(html)
90
+ parser = Lexbor .new(html)
91
91
finder = Lexbor ::CssFilter .new(" .jo" )
92
92
93
93
10 .times do
@@ -99,7 +99,7 @@ describe Lexbor do
99
99
it " should raise on empty selector" do
100
100
html = " <div><p id=p1><p id=p2 class=jo><p id=p3><a>link</a><span id=bla><p id=p4 class=jo><p id=p5 class=bu><p id=p6 class=jo></span></div>"
101
101
102
- parser = Lexbor :: Parser .new(html)
102
+ parser = Lexbor .new(html)
103
103
expect_raises(Lexbor ::LibError , " Failed to css_selectors_parse for" ) do
104
104
finder = Lexbor ::CssFilter .new(" " )
105
105
parser.css(finder).to_a.size.should eq 0
@@ -122,7 +122,7 @@ describe Lexbor do
122
122
</div>
123
123
PAGE
124
124
125
- parser = Lexbor :: Parser .new(html)
125
+ parser = Lexbor .new(html)
126
126
127
127
# select all p nodes which id like `*p*`
128
128
parser.css(" p[id*=p]" ).map(& .attribute_by(" id" )).to_a.should eq [" p1" , " p2" , " p3" , " p4" , " p5" , " p6" ]
@@ -166,7 +166,7 @@ describe Lexbor do
166
166
</body></html>
167
167
PAGE
168
168
169
- parser = Lexbor :: Parser .new(html)
169
+ parser = Lexbor .new(html)
170
170
parser.css(" #t2 tr td:first-child" ).map(& .inner_text).to_a.should eq [" 123" , " foo" , " bar" , " xyz" ]
171
171
parser.css(" #t2 tr td:first-child" ).map(& .to_html).to_a.should eq [" <td>123</td>" , " <td>foo</td>" , " <td>bar</td>" , " <td>xyz</td>" ]
172
172
@@ -179,7 +179,7 @@ describe Lexbor do
179
179
180
180
it " not sigfaulting on more than 1024 elements" do
181
181
str = " <html>" + " <div class=A>ooo</div>" * 20000 + " </html>"
182
- parser = Lexbor :: Parser .new(str)
182
+ parser = Lexbor .new(str)
183
183
184
184
c = 0
185
185
x = 0
@@ -192,12 +192,12 @@ describe Lexbor do
192
192
end
193
193
194
194
it " bug in css" do
195
- parser = Lexbor :: Parser .new(%q{ <div class="asfjjjj">bla</div>} )
195
+ parser = Lexbor .new(%q{ <div class="asfjjjj">bla</div>} )
196
196
parser.css(" div.jjjj" ).to_a.size.should eq 0
197
197
end
198
198
199
199
it " css with yield" do
200
- parser = Lexbor :: Parser .new(%q{ <div class="jjjj">bla</div>} )
200
+ parser = Lexbor .new(%q{ <div class="jjjj">bla</div>} )
201
201
parser.css(" div.jjjj" ) { |col | col.to_a.size }.should eq 1
202
202
end
203
203
end
0 commit comments