...
1 package goquery
2
3 import (
4 "testing"
5 )
6
7 func BenchmarkFirst(b *testing.B) {
8 b.StopTimer()
9 sel := DocB().Find("dd")
10 b.StartTimer()
11 for i := 0; i < b.N; i++ {
12 sel.First()
13 }
14 }
15
16 func BenchmarkLast(b *testing.B) {
17 b.StopTimer()
18 sel := DocB().Find("dd")
19 b.StartTimer()
20 for i := 0; i < b.N; i++ {
21 sel.Last()
22 }
23 }
24
25 func BenchmarkEq(b *testing.B) {
26 b.StopTimer()
27 sel := DocB().Find("dd")
28 j := 0
29 b.StartTimer()
30 for i := 0; i < b.N; i++ {
31 sel.Eq(j)
32 if j++; j >= sel.Length() {
33 j = 0
34 }
35 }
36 }
37
38 func BenchmarkSlice(b *testing.B) {
39 b.StopTimer()
40 sel := DocB().Find("dd")
41 j := 0
42 b.StartTimer()
43 for i := 0; i < b.N; i++ {
44 sel.Slice(j, j+4)
45 if j++; j >= (sel.Length() - 4) {
46 j = 0
47 }
48 }
49 }
50
51 func BenchmarkGet(b *testing.B) {
52 b.StopTimer()
53 sel := DocB().Find("dd")
54 j := 0
55 b.StartTimer()
56 for i := 0; i < b.N; i++ {
57 sel.Get(j)
58 if j++; j >= sel.Length() {
59 j = 0
60 }
61 }
62 }
63
64 func BenchmarkIndex(b *testing.B) {
65 var j int
66
67 b.StopTimer()
68 sel := DocB().Find("#Main")
69 b.StartTimer()
70 for i := 0; i < b.N; i++ {
71 j = sel.Index()
72 }
73 if j != 3 {
74 b.Fatalf("want 3, got %d", j)
75 }
76 }
77
78 func BenchmarkIndexSelector(b *testing.B) {
79 var j int
80
81 b.StopTimer()
82 sel := DocB().Find("#manual-nav dl dd:nth-child(1)")
83 b.StartTimer()
84 for i := 0; i < b.N; i++ {
85 j = sel.IndexSelector("dd")
86 }
87 if j != 4 {
88 b.Fatalf("want 4, got %d", j)
89 }
90 }
91
92 func BenchmarkIndexOfNode(b *testing.B) {
93 var j int
94
95 b.StopTimer()
96 sel := DocB().Find("span a")
97 sel2 := DocB().Find("span a:nth-child(3)")
98 n := sel2.Get(0)
99 b.StartTimer()
100 for i := 0; i < b.N; i++ {
101 j = sel.IndexOfNode(n)
102 }
103 if j != 2 {
104 b.Fatalf("want 2, got %d", j)
105 }
106 }
107
108 func BenchmarkIndexOfSelection(b *testing.B) {
109 var j int
110 b.StopTimer()
111 sel := DocB().Find("span a")
112 sel2 := DocB().Find("span a:nth-child(3)")
113 b.StartTimer()
114 for i := 0; i < b.N; i++ {
115 j = sel.IndexOfSelection(sel2)
116 }
117 if j != 2 {
118 b.Fatalf("want 2, got %d", j)
119 }
120 }
121
View as plain text