package goquery import ( "testing" ) func BenchmarkIs(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("li") b.StartTimer() for i := 0; i < b.N; i++ { y = sel.Is(".toclevel-2") } b.Logf("Is=%v", y) } func BenchmarkIsPositional(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("li") b.StartTimer() for i := 0; i < b.N; i++ { y = sel.Is("li:nth-child(2)") } b.Logf("IsPositional=%v", y) } func BenchmarkIsFunction(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find(".toclevel-1") f := func(i int, s *Selection) bool { return i == 8 } b.StartTimer() for i := 0; i < b.N; i++ { y = sel.IsFunction(f) } b.Logf("IsFunction=%v", y) } func BenchmarkIsSelection(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("li") sel2 := DocW().Find(".toclevel-2") b.StartTimer() for i := 0; i < b.N; i++ { y = sel.IsSelection(sel2) } b.Logf("IsSelection=%v", y) } func BenchmarkIsNodes(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("li") sel2 := DocW().Find(".toclevel-2") nodes := sel2.Nodes b.StartTimer() for i := 0; i < b.N; i++ { y = sel.IsNodes(nodes...) } b.Logf("IsNodes=%v", y) } func BenchmarkHasClass(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("span") b.StartTimer() for i := 0; i < b.N; i++ { y = sel.HasClass("official") } b.Logf("HasClass=%v", y) } func BenchmarkContains(b *testing.B) { var y bool b.StopTimer() sel := DocW().Find("span.url") sel2 := DocW().Find("a[rel=\"nofollow\"]") node := sel2.Nodes[0] b.StartTimer() for i := 0; i < b.N; i++ { y = sel.Contains(node) } b.Logf("Contains=%v", y) }