...

Source file src/github.com/PuerkitoBio/goquery/bench_query_test.go

Documentation: github.com/PuerkitoBio/goquery

     1  package goquery
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func BenchmarkIs(b *testing.B) {
     8  	var y bool
     9  
    10  	b.StopTimer()
    11  	sel := DocW().Find("li")
    12  	b.StartTimer()
    13  	for i := 0; i < b.N; i++ {
    14  		y = sel.Is(".toclevel-2")
    15  	}
    16  	if !y {
    17  		b.Fatal("want true")
    18  	}
    19  }
    20  
    21  func BenchmarkIsPositional(b *testing.B) {
    22  	var y bool
    23  
    24  	b.StopTimer()
    25  	sel := DocW().Find("li")
    26  	b.StartTimer()
    27  	for i := 0; i < b.N; i++ {
    28  		y = sel.Is("li:nth-child(2)")
    29  	}
    30  	if !y {
    31  		b.Fatal("want true")
    32  	}
    33  }
    34  
    35  func BenchmarkIsFunction(b *testing.B) {
    36  	var y bool
    37  
    38  	b.StopTimer()
    39  	sel := DocW().Find(".toclevel-1")
    40  	f := func(i int, s *Selection) bool {
    41  		return i == 8
    42  	}
    43  	b.StartTimer()
    44  	for i := 0; i < b.N; i++ {
    45  		y = sel.IsFunction(f)
    46  	}
    47  	if !y {
    48  		b.Fatal("want true")
    49  	}
    50  }
    51  
    52  func BenchmarkIsSelection(b *testing.B) {
    53  	var y bool
    54  
    55  	b.StopTimer()
    56  	sel := DocW().Find("li")
    57  	sel2 := DocW().Find(".toclevel-2")
    58  	b.StartTimer()
    59  	for i := 0; i < b.N; i++ {
    60  		y = sel.IsSelection(sel2)
    61  	}
    62  	if !y {
    63  		b.Fatal("want true")
    64  	}
    65  }
    66  
    67  func BenchmarkIsNodes(b *testing.B) {
    68  	var y bool
    69  
    70  	b.StopTimer()
    71  	sel := DocW().Find("li")
    72  	sel2 := DocW().Find(".toclevel-2")
    73  	nodes := sel2.Nodes
    74  	b.StartTimer()
    75  	for i := 0; i < b.N; i++ {
    76  		y = sel.IsNodes(nodes...)
    77  	}
    78  	if !y {
    79  		b.Fatal("want true")
    80  	}
    81  }
    82  
    83  func BenchmarkHasClass(b *testing.B) {
    84  	var y bool
    85  
    86  	b.StopTimer()
    87  	sel := DocW().Find("span")
    88  	b.StartTimer()
    89  	for i := 0; i < b.N; i++ {
    90  		y = sel.HasClass("official")
    91  	}
    92  	if !y {
    93  		b.Fatal("want true")
    94  	}
    95  }
    96  
    97  func BenchmarkContains(b *testing.B) {
    98  	var y bool
    99  
   100  	b.StopTimer()
   101  	sel := DocW().Find("span.url")
   102  	sel2 := DocW().Find("a[rel=\"nofollow\"]")
   103  	node := sel2.Nodes[0]
   104  	b.StartTimer()
   105  	for i := 0; i < b.N; i++ {
   106  		y = sel.Contains(node)
   107  	}
   108  	if !y {
   109  		b.Fatal("want true")
   110  	}
   111  }
   112  

View as plain text