1 package goquery
2
3 import (
4 "testing"
5 )
6
7 func TestAdd(t *testing.T) {
8 sel := Doc().Find("div.row-fluid").Add("a")
9 assertLength(t, sel.Nodes, 19)
10 }
11
12 func TestAddInvalid(t *testing.T) {
13 sel1 := Doc().Find("div.row-fluid")
14 sel2 := sel1.Add("")
15 assertLength(t, sel1.Nodes, 9)
16 assertLength(t, sel2.Nodes, 9)
17 if sel1 == sel2 {
18 t.Errorf("selections should not be the same")
19 }
20 }
21
22 func TestAddRollback(t *testing.T) {
23 sel := Doc().Find(".pvk-content")
24 sel2 := sel.Add("a").End()
25 assertEqual(t, sel, sel2)
26 }
27
28 func TestAddSelection(t *testing.T) {
29 sel := Doc().Find("div.row-fluid")
30 sel2 := Doc().Find("a")
31 sel = sel.AddSelection(sel2)
32 assertLength(t, sel.Nodes, 19)
33 }
34
35 func TestAddSelectionNil(t *testing.T) {
36 sel := Doc().Find("div.row-fluid")
37 assertLength(t, sel.Nodes, 9)
38
39 sel = sel.AddSelection(nil)
40 assertLength(t, sel.Nodes, 9)
41 }
42
43 func TestAddSelectionRollback(t *testing.T) {
44 sel := Doc().Find(".pvk-content")
45 sel2 := sel.Find("a")
46 sel2 = sel.AddSelection(sel2).End()
47 assertEqual(t, sel, sel2)
48 }
49
50 func TestAddNodes(t *testing.T) {
51 sel := Doc().Find("div.pvk-gutter")
52 sel2 := Doc().Find(".pvk-content")
53 sel = sel.AddNodes(sel2.Nodes...)
54 assertLength(t, sel.Nodes, 9)
55 }
56
57 func TestAddNodesNone(t *testing.T) {
58 sel := Doc().Find("div.pvk-gutter").AddNodes()
59 assertLength(t, sel.Nodes, 6)
60 }
61
62 func TestAddNodesRollback(t *testing.T) {
63 sel := Doc().Find(".pvk-content")
64 sel2 := sel.Find("a")
65 sel2 = sel.AddNodes(sel2.Nodes...).End()
66 assertEqual(t, sel, sel2)
67 }
68
69 func TestAddNodesBig(t *testing.T) {
70 doc := DocW()
71 sel := doc.Find("li")
72 assertLength(t, sel.Nodes, 373)
73 sel2 := doc.Find("xyz")
74 assertLength(t, sel2.Nodes, 0)
75
76 nodes := sel.Nodes
77 sel2 = sel2.AddNodes(nodes...)
78 assertLength(t, sel2.Nodes, 373)
79 nodes2 := append(nodes, nodes...)
80 sel2 = sel2.End().AddNodes(nodes2...)
81 assertLength(t, sel2.Nodes, 373)
82 nodes3 := append(nodes2, nodes...)
83 sel2 = sel2.End().AddNodes(nodes3...)
84 assertLength(t, sel2.Nodes, 373)
85 }
86
87 func TestAndSelf(t *testing.T) {
88 sel := Doc().Find(".span12").Last().AndSelf()
89 assertLength(t, sel.Nodes, 2)
90 }
91
92 func TestAndSelfRollback(t *testing.T) {
93 sel := Doc().Find(".pvk-content")
94 sel2 := sel.Find("a").AndSelf().End().End()
95 assertEqual(t, sel, sel2)
96 }
97
98 func TestAddBack(t *testing.T) {
99 sel := Doc().Find(".span12").Last().AddBack()
100 assertLength(t, sel.Nodes, 2)
101 }
102
103 func TestAddBackRollback(t *testing.T) {
104 sel := Doc().Find(".pvk-content")
105 sel2 := sel.Find("a").AddBack().End().End()
106 assertEqual(t, sel, sel2)
107 }
108
109 func TestAddBackFiltered(t *testing.T) {
110 sel := Doc().Find(".span12, .footer").Find("h1").AddBackFiltered(".footer")
111 assertLength(t, sel.Nodes, 2)
112 }
113
114 func TestAddBackFilteredRollback(t *testing.T) {
115 sel := Doc().Find(".span12, .footer")
116 sel2 := sel.Find("h1").AddBackFiltered(".footer").End().End()
117 assertEqual(t, sel, sel2)
118 }
119
View as plain text