...
1 package goquery
2
3 import (
4 "testing"
5 )
6
7 func BenchmarkIs(b *testing.B) {
8 var y bool
9
10 b.StopTimer()
11 sel := DocW().Find("li")
12 b.StartTimer()
13 for i := 0; i < b.N; i++ {
14 y = sel.Is(".toclevel-2")
15 }
16 if !y {
17 b.Fatal("want true")
18 }
19 }
20
21 func BenchmarkIsPositional(b *testing.B) {
22 var y bool
23
24 b.StopTimer()
25 sel := DocW().Find("li")
26 b.StartTimer()
27 for i := 0; i < b.N; i++ {
28 y = sel.Is("li:nth-child(2)")
29 }
30 if !y {
31 b.Fatal("want true")
32 }
33 }
34
35 func BenchmarkIsFunction(b *testing.B) {
36 var y bool
37
38 b.StopTimer()
39 sel := DocW().Find(".toclevel-1")
40 f := func(i int, s *Selection) bool {
41 return i == 8
42 }
43 b.StartTimer()
44 for i := 0; i < b.N; i++ {
45 y = sel.IsFunction(f)
46 }
47 if !y {
48 b.Fatal("want true")
49 }
50 }
51
52 func BenchmarkIsSelection(b *testing.B) {
53 var y bool
54
55 b.StopTimer()
56 sel := DocW().Find("li")
57 sel2 := DocW().Find(".toclevel-2")
58 b.StartTimer()
59 for i := 0; i < b.N; i++ {
60 y = sel.IsSelection(sel2)
61 }
62 if !y {
63 b.Fatal("want true")
64 }
65 }
66
67 func BenchmarkIsNodes(b *testing.B) {
68 var y bool
69
70 b.StopTimer()
71 sel := DocW().Find("li")
72 sel2 := DocW().Find(".toclevel-2")
73 nodes := sel2.Nodes
74 b.StartTimer()
75 for i := 0; i < b.N; i++ {
76 y = sel.IsNodes(nodes...)
77 }
78 if !y {
79 b.Fatal("want true")
80 }
81 }
82
83 func BenchmarkHasClass(b *testing.B) {
84 var y bool
85
86 b.StopTimer()
87 sel := DocW().Find("span")
88 b.StartTimer()
89 for i := 0; i < b.N; i++ {
90 y = sel.HasClass("official")
91 }
92 if !y {
93 b.Fatal("want true")
94 }
95 }
96
97 func BenchmarkContains(b *testing.B) {
98 var y bool
99
100 b.StopTimer()
101 sel := DocW().Find("span.url")
102 sel2 := DocW().Find("a[rel=\"nofollow\"]")
103 node := sel2.Nodes[0]
104 b.StartTimer()
105 for i := 0; i < b.N; i++ {
106 y = sel.Contains(node)
107 }
108 if !y {
109 b.Fatal("want true")
110 }
111 }
112
View as plain text