121 lines
1.9 KiB
Go
121 lines
1.9 KiB
Go
|
package goquery
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func BenchmarkFirst(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("dd")
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
sel.First()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkLast(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("dd")
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
sel.Last()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkEq(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("dd")
|
||
|
j := 0
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
sel.Eq(j)
|
||
|
if j++; j >= sel.Length() {
|
||
|
j = 0
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkSlice(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("dd")
|
||
|
j := 0
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
sel.Slice(j, j+4)
|
||
|
if j++; j >= (sel.Length() - 4) {
|
||
|
j = 0
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkGet(b *testing.B) {
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("dd")
|
||
|
j := 0
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
sel.Get(j)
|
||
|
if j++; j >= sel.Length() {
|
||
|
j = 0
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkIndex(b *testing.B) {
|
||
|
var j int
|
||
|
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("#Main")
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
j = sel.Index()
|
||
|
}
|
||
|
if j != 3 {
|
||
|
b.Fatalf("want 3, got %d", j)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkIndexSelector(b *testing.B) {
|
||
|
var j int
|
||
|
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("#manual-nav dl dd:nth-child(1)")
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
j = sel.IndexSelector("dd")
|
||
|
}
|
||
|
if j != 4 {
|
||
|
b.Fatalf("want 4, got %d", j)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkIndexOfNode(b *testing.B) {
|
||
|
var j int
|
||
|
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("span a")
|
||
|
sel2 := DocB().Find("span a:nth-child(3)")
|
||
|
n := sel2.Get(0)
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
j = sel.IndexOfNode(n)
|
||
|
}
|
||
|
if j != 2 {
|
||
|
b.Fatalf("want 2, got %d", j)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkIndexOfSelection(b *testing.B) {
|
||
|
var j int
|
||
|
b.StopTimer()
|
||
|
sel := DocB().Find("span a")
|
||
|
sel2 := DocB().Find("span a:nth-child(3)")
|
||
|
b.StartTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
j = sel.IndexOfSelection(sel2)
|
||
|
}
|
||
|
if j != 2 {
|
||
|
b.Fatalf("want 2, got %d", j)
|
||
|
}
|
||
|
}
|