aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go')
-rw-r--r--vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go236
1 files changed, 236 insertions, 0 deletions
diff --git a/vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go b/vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go
new file mode 100644
index 0000000..61641c8
--- /dev/null
+++ b/vendor/github.com/PuerkitoBio/goquery/bench_filter_test.go
@@ -0,0 +1,236 @@
+package goquery
+
+import (
+ "testing"
+)
+
+func BenchmarkFilter(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.Filter(".toclevel-1").Length()
+ } else {
+ sel.Filter(".toclevel-1")
+ }
+ }
+ if n != 13 {
+ b.Fatalf("want 13, got %d", n)
+ }
+}
+
+func BenchmarkNot(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.Not(".toclevel-2").Length()
+ } else {
+ sel.Filter(".toclevel-2")
+ }
+ }
+ if n != 371 {
+ b.Fatalf("want 371, got %d", n)
+ }
+}
+
+func BenchmarkFilterFunction(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ f := func(i int, s *Selection) bool {
+ return len(s.Get(0).Attr) > 0
+ }
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.FilterFunction(f).Length()
+ } else {
+ sel.FilterFunction(f)
+ }
+ }
+ if n != 112 {
+ b.Fatalf("want 112, got %d", n)
+ }
+}
+
+func BenchmarkNotFunction(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ f := func(i int, s *Selection) bool {
+ return len(s.Get(0).Attr) > 0
+ }
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.NotFunction(f).Length()
+ } else {
+ sel.NotFunction(f)
+ }
+ }
+ if n != 261 {
+ b.Fatalf("want 261, got %d", n)
+ }
+}
+
+func BenchmarkFilterNodes(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".toclevel-2")
+ nodes := sel2.Nodes
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.FilterNodes(nodes...).Length()
+ } else {
+ sel.FilterNodes(nodes...)
+ }
+ }
+ if n != 2 {
+ b.Fatalf("want 2, got %d", n)
+ }
+}
+
+func BenchmarkNotNodes(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".toclevel-1")
+ nodes := sel2.Nodes
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.NotNodes(nodes...).Length()
+ } else {
+ sel.NotNodes(nodes...)
+ }
+ }
+ if n != 360 {
+ b.Fatalf("want 360, got %d", n)
+ }
+}
+
+func BenchmarkFilterSelection(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".toclevel-2")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.FilterSelection(sel2).Length()
+ } else {
+ sel.FilterSelection(sel2)
+ }
+ }
+ if n != 2 {
+ b.Fatalf("want 2, got %d", n)
+ }
+}
+
+func BenchmarkNotSelection(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".toclevel-1")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.NotSelection(sel2).Length()
+ } else {
+ sel.NotSelection(sel2)
+ }
+ }
+ if n != 360 {
+ b.Fatalf("want 360, got %d", n)
+ }
+}
+
+func BenchmarkHas(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("h2")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.Has(".editsection").Length()
+ } else {
+ sel.Has(".editsection")
+ }
+ }
+ if n != 13 {
+ b.Fatalf("want 13, got %d", n)
+ }
+}
+
+func BenchmarkHasNodes(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".tocnumber")
+ nodes := sel2.Nodes
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.HasNodes(nodes...).Length()
+ } else {
+ sel.HasNodes(nodes...)
+ }
+ }
+ if n != 15 {
+ b.Fatalf("want 15, got %d", n)
+ }
+}
+
+func BenchmarkHasSelection(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li")
+ sel2 := DocW().Find(".tocnumber")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.HasSelection(sel2).Length()
+ } else {
+ sel.HasSelection(sel2)
+ }
+ }
+ if n != 15 {
+ b.Fatalf("want 15, got %d", n)
+ }
+}
+
+func BenchmarkEnd(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocW().Find("li").Has(".tocnumber")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.End().Length()
+ } else {
+ sel.End()
+ }
+ }
+ if n != 373 {
+ b.Fatalf("wnat 373, got %d", n)
+ }
+}