...

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

Documentation: github.com/PuerkitoBio/goquery

     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