1package goquery 2 3import ( 4 "testing" 5) 6 7func TestAdd(t *testing.T) { 8 sel := Doc().Find("div.row-fluid").Add("a") 9 assertLength(t, sel.Nodes, 19) 10} 11 12func 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 22func TestAddRollback(t *testing.T) { 23 sel := Doc().Find(".pvk-content") 24 sel2 := sel.Add("a").End() 25 assertEqual(t, sel, sel2) 26} 27 28func 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 35func 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 43func 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 50func 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 57func TestAddNodesNone(t *testing.T) { 58 sel := Doc().Find("div.pvk-gutter").AddNodes() 59 assertLength(t, sel.Nodes, 6) 60} 61 62func 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 69func 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 87func TestAndSelf(t *testing.T) { 88 sel := Doc().Find(".span12").Last().AndSelf() 89 assertLength(t, sel.Nodes, 2) 90} 91 92func 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 98func TestAddBack(t *testing.T) { 99 sel := Doc().Find(".span12").Last().AddBack() 100 assertLength(t, sel.Nodes, 2) 101} 102 103func 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 109func TestAddBackFiltered(t *testing.T) { 110 sel := Doc().Find(".span12, .footer").Find("h1").AddBackFiltered(".footer") 111 assertLength(t, sel.Nodes, 2) 112} 113 114func 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