| 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) | |
| } | |
| } |