aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/PuerkitoBio/goquery/bench_array_test.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 21:10:04 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 22:01:46 -0800
commit8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch)
tree38133a2fc612597a75fed1d13e5b4042f58a2b7e /vendor/github.com/PuerkitoBio/goquery/bench_array_test.go
First commit
Diffstat (limited to 'vendor/github.com/PuerkitoBio/goquery/bench_array_test.go')
-rw-r--r--vendor/github.com/PuerkitoBio/goquery/bench_array_test.go120
1 files changed, 120 insertions, 0 deletions
diff --git a/vendor/github.com/PuerkitoBio/goquery/bench_array_test.go b/vendor/github.com/PuerkitoBio/goquery/bench_array_test.go
new file mode 100644
index 0000000..29c7e20
--- /dev/null
+++ b/vendor/github.com/PuerkitoBio/goquery/bench_array_test.go
@@ -0,0 +1,120 @@
+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)
+ }
+}