aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go')
-rw-r--r--vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go104
1 files changed, 104 insertions, 0 deletions
diff --git a/vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go b/vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go
new file mode 100644
index 0000000..61f1947
--- /dev/null
+++ b/vendor/github.com/PuerkitoBio/goquery/bench_expand_test.go
@@ -0,0 +1,104 @@
+package goquery
+
+import (
+ "testing"
+)
+
+func BenchmarkAdd(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocB().Find("dd")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.Add("h2[title]").Length()
+ } else {
+ sel.Add("h2[title]")
+ }
+ }
+ if n != 43 {
+ b.Fatalf("want 43, got %d", n)
+ }
+}
+
+func BenchmarkAddSelection(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocB().Find("dd")
+ sel2 := DocB().Find("h2[title]")
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.AddSelection(sel2).Length()
+ } else {
+ sel.AddSelection(sel2)
+ }
+ }
+ if n != 43 {
+ b.Fatalf("want 43, got %d", n)
+ }
+}
+
+func BenchmarkAddNodes(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocB().Find("dd")
+ sel2 := DocB().Find("h2[title]")
+ nodes := sel2.Nodes
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.AddNodes(nodes...).Length()
+ } else {
+ sel.AddNodes(nodes...)
+ }
+ }
+ if n != 43 {
+ b.Fatalf("want 43, got %d", n)
+ }
+}
+
+func BenchmarkAddNodesBig(b *testing.B) {
+ var n int
+
+ doc := DocW()
+ sel := doc.Find("li")
+ // make nodes > 1000
+ nodes := sel.Nodes
+ nodes = append(nodes, nodes...)
+ nodes = append(nodes, nodes...)
+ sel = doc.Find("xyz")
+ b.ResetTimer()
+
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.AddNodes(nodes...).Length()
+ } else {
+ sel.AddNodes(nodes...)
+ }
+ }
+ if n != 373 {
+ b.Fatalf("want 373, got %d", n)
+ }
+}
+
+func BenchmarkAndSelf(b *testing.B) {
+ var n int
+
+ b.StopTimer()
+ sel := DocB().Find("dd").Parent()
+ b.StartTimer()
+ for i := 0; i < b.N; i++ {
+ if n == 0 {
+ n = sel.AndSelf().Length()
+ } else {
+ sel.AndSelf()
+ }
+ }
+ if n != 44 {
+ b.Fatalf("want 44, got %d", n)
+ }
+}