mirror of
https://github.com/PuerkitoBio/goquery
synced 2025-10-05 16:56:57 +08:00
94 lines
2.2 KiB
Go
94 lines
2.2 KiB
Go
package goquery
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestFilter(t *testing.T) {
|
|
sel := Doc().Find(".span12").Filter(".alert")
|
|
if len(sel.Nodes) != 1 {
|
|
t.Errorf("Expected 1 node, found %v.", len(sel.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestFilterNone(t *testing.T) {
|
|
sel := Doc().Find(".span12").Filter(".zzalert")
|
|
if sel.Nodes != nil {
|
|
t.Error("Expected no node (nil), found some.")
|
|
}
|
|
}
|
|
|
|
func TestFilterFunction(t *testing.T) {
|
|
sel := Doc().Find(".pvk-content").FilterFunction(func(i int, s *Selection) bool {
|
|
return i > 0
|
|
})
|
|
if len(sel.Nodes) != 2 {
|
|
t.Errorf("Expected 2 nodes, found %v.", len(sel.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestFilterNode(t *testing.T) {
|
|
sel := Doc().Find(".pvk-content")
|
|
sel2 := sel.FilterNodes(sel.Nodes[2])
|
|
if len(sel2.Nodes) != 1 {
|
|
t.Errorf("Expected 1 node, found %v.", len(sel2.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestFilterSelection(t *testing.T) {
|
|
sel := Doc().Find(".link")
|
|
sel2 := Doc().Find("a[ng-click]")
|
|
sel3 := sel.FilterSelection(sel2)
|
|
if len(sel3.Nodes) != 1 {
|
|
t.Errorf("Expected 1 node, found %v.", len(sel3.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestNot(t *testing.T) {
|
|
sel := Doc().Find(".span12").Not(".alert")
|
|
if len(sel.Nodes) != 1 {
|
|
t.Errorf("Expected 1 node, found %v.", len(sel.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestNotNone(t *testing.T) {
|
|
sel := Doc().Find(".span12").Not(".zzalert")
|
|
if len(sel.Nodes) != 2 {
|
|
t.Errorf("Expected 2 nodes, found %v.", len(sel.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestNotFunction(t *testing.T) {
|
|
sel := Doc().Find(".pvk-content").NotFunction(func(i int, s *Selection) bool {
|
|
return i > 0
|
|
})
|
|
if len(sel.Nodes) != 1 {
|
|
t.Errorf("Expected 1 nodes, found %v.", len(sel.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestNotNode(t *testing.T) {
|
|
sel := Doc().Find(".pvk-content")
|
|
sel2 := sel.NotNodes(sel.Nodes[2])
|
|
if len(sel2.Nodes) != 2 {
|
|
t.Errorf("Expected 2 nodes, found %v.", len(sel2.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestNotSelection(t *testing.T) {
|
|
sel := Doc().Find(".link")
|
|
sel2 := Doc().Find("a[ng-click]")
|
|
sel3 := sel.NotSelection(sel2)
|
|
if len(sel3.Nodes) != 6 {
|
|
t.Errorf("Expected 6 nodes, found %v.", len(sel3.Nodes))
|
|
}
|
|
}
|
|
|
|
func TestUnion(t *testing.T) {
|
|
sel := Doc().Find(".pvk-gutter")
|
|
sel2 := Doc().Find("div").Union(sel)
|
|
if len(sel2.Nodes) != 6 {
|
|
t.Errorf("Expected 6 nodes, found %v.", len(sel2.Nodes))
|
|
}
|
|
}
|