aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/PuerkitoBio/goquery/query_test.go
blob: 54b2a2e0d9aa3cb79283debf3629a34911ff71b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package goquery

import (
	"testing"
)

func TestIs(t *testing.T) {
	sel := Doc().Find(".footer p:nth-child(1)")
	if !sel.Is("p") {
		t.Error("Expected .footer p:nth-child(1) to be p.")
	}
}

func TestIsInvalid(t *testing.T) {
	sel := Doc().Find(".footer p:nth-child(1)")
	if sel.Is("") {
		t.Error("Is should not succeed with invalid selector string")
	}
}

func TestIsPositional(t *testing.T) {
	sel := Doc().Find(".footer p:nth-child(2)")
	if !sel.Is("p:nth-child(2)") {
		t.Error("Expected .footer p:nth-child(2) to be p:nth-child(2).")
	}
}

func TestIsPositionalNot(t *testing.T) {
	sel := Doc().Find(".footer p:nth-child(1)")
	if sel.Is("p:nth-child(2)") {
		t.Error("Expected .footer p:nth-child(1) NOT to be p:nth-child(2).")
	}
}

func TestIsFunction(t *testing.T) {
	ok := Doc().Find("div").IsFunction(func(i int, s *Selection) bool {
		return s.HasClass("container-fluid")
	})

	if !ok {
		t.Error("Expected some div to have a container-fluid class.")
	}
}

func TestIsFunctionRollback(t *testing.T) {
	ok := Doc().Find("div").IsFunction(func(i int, s *Selection) bool {
		return s.HasClass("container-fluid")
	})

	if !ok {
		t.Error("Expected some div to have a container-fluid class.")
	}
}

func TestIsSelection(t *testing.T) {
	sel := Doc().Find("div")
	sel2 := Doc().Find(".pvk-gutter")

	if !sel.IsSelection(sel2) {
		t.Error("Expected some div to have a pvk-gutter class.")
	}
}

func TestIsSelectionNot(t *testing.T) {
	sel := Doc().Find("div")
	sel2 := Doc().Find("a")

	if sel.IsSelection(sel2) {
		t.Error("Expected some div NOT to be an anchor.")
	}
}

func TestIsNodes(t *testing.T) {
	sel := Doc().Find("div")
	sel2 := Doc().Find(".footer")

	if !sel.IsNodes(sel2.Nodes[0]) {
		t.Error("Expected some div to have a footer class.")
	}
}

func TestDocContains(t *testing.T) {
	sel := Doc().Find("h1")
	if !Doc().Contains(sel.Nodes[0]) {
		t.Error("Expected document to contain H1 tag.")
	}
}

func TestSelContains(t *testing.T) {
	sel := Doc().Find(".row-fluid")
	sel2 := Doc().Find("a[ng-click]")
	if !sel.Contains(sel2.Nodes[0]) {
		t.Error("Expected .row-fluid to contain a[ng-click] tag.")
	}
}

func TestSelNotContains(t *testing.T) {
	sel := Doc().Find("a.link")
	sel2 := Doc().Find("span")
	if sel.Contains(sel2.Nodes[0]) {
		t.Error("Expected a.link to NOT contain span tag.")
	}
}