aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/PuerkitoBio/goquery/array_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/PuerkitoBio/goquery/array_test.go')
-rw-r--r--vendor/github.com/PuerkitoBio/goquery/array_test.go212
1 files changed, 212 insertions, 0 deletions
diff --git a/vendor/github.com/PuerkitoBio/goquery/array_test.go b/vendor/github.com/PuerkitoBio/goquery/array_test.go
new file mode 100644
index 0000000..8e50f75
--- /dev/null
+++ b/vendor/github.com/PuerkitoBio/goquery/array_test.go
@@ -0,0 +1,212 @@
+package goquery
+
+import (
+ "testing"
+)
+
+func TestFirst(t *testing.T) {
+ sel := Doc().Find(".pvk-content").First()
+ assertLength(t, sel.Nodes, 1)
+}
+
+func TestFirstEmpty(t *testing.T) {
+ sel := Doc().Find(".pvk-zzcontentzz").First()
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestFirstInvalid(t *testing.T) {
+ sel := Doc().Find("").First()
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestFirstRollback(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ sel2 := sel.First().End()
+ assertEqual(t, sel, sel2)
+}
+
+func TestLast(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Last()
+ assertLength(t, sel.Nodes, 1)
+
+ // Should contain Footer
+ foot := Doc().Find(".footer")
+ if !sel.Contains(foot.Nodes[0]) {
+ t.Error("Last .pvk-content should contain .footer.")
+ }
+}
+
+func TestLastEmpty(t *testing.T) {
+ sel := Doc().Find(".pvk-zzcontentzz").Last()
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestLastInvalid(t *testing.T) {
+ sel := Doc().Find("").Last()
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestLastRollback(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ sel2 := sel.Last().End()
+ assertEqual(t, sel, sel2)
+}
+
+func TestEq(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Eq(1)
+ assertLength(t, sel.Nodes, 1)
+}
+
+func TestEqNegative(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Eq(-1)
+ assertLength(t, sel.Nodes, 1)
+
+ // Should contain Footer
+ foot := Doc().Find(".footer")
+ if !sel.Contains(foot.Nodes[0]) {
+ t.Error("Index -1 of .pvk-content should contain .footer.")
+ }
+}
+
+func TestEqEmpty(t *testing.T) {
+ sel := Doc().Find("something_random_that_does_not_exists").Eq(0)
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestEqInvalid(t *testing.T) {
+ sel := Doc().Find("").Eq(0)
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestEqInvalidPositive(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Eq(3)
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestEqInvalidNegative(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Eq(-4)
+ assertLength(t, sel.Nodes, 0)
+}
+
+func TestEqRollback(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ sel2 := sel.Eq(1).End()
+ assertEqual(t, sel, sel2)
+}
+
+func TestSlice(t *testing.T) {
+ sel := Doc().Find(".pvk-content").Slice(0, 2)
+
+ assertLength(t, sel.Nodes, 2)
+}
+
+func TestSliceEmpty(t *testing.T) {
+ defer assertPanic(t)
+ Doc().Find("x").Slice(0, 2)
+}
+
+func TestSliceInvalid(t *testing.T) {
+ defer assertPanic(t)
+ Doc().Find("").Slice(0, 2)
+}
+
+func TestSliceOutOfBounds(t *testing.T) {
+ defer assertPanic(t)
+ Doc().Find(".pvk-content").Slice(2, 12)
+}
+
+func TestNegativeSliceStart(t *testing.T) {
+ sel := Doc().Find(".container-fluid").Slice(-2, 3)
+ assertLength(t, sel.Nodes, 1)
+ assertSelectionIs(t, sel.Eq(0), "#cf3")
+}
+
+func TestNegativeSliceEnd(t *testing.T) {
+ sel := Doc().Find(".container-fluid").Slice(1, -1)
+ assertLength(t, sel.Nodes, 2)
+ assertSelectionIs(t, sel.Eq(0), "#cf2")
+ assertSelectionIs(t, sel.Eq(1), "#cf3")
+}
+
+func TestNegativeSliceBoth(t *testing.T) {
+ sel := Doc().Find(".container-fluid").Slice(-3, -1)
+ assertLength(t, sel.Nodes, 2)
+ assertSelectionIs(t, sel.Eq(0), "#cf2")
+ assertSelectionIs(t, sel.Eq(1), "#cf3")
+}
+
+func TestNegativeSliceOutOfBounds(t *testing.T) {
+ defer assertPanic(t)
+ Doc().Find(".container-fluid").Slice(-12, -7)
+}
+
+func TestSliceRollback(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ sel2 := sel.Slice(0, 2).End()
+ assertEqual(t, sel, sel2)
+}
+
+func TestGet(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ node := sel.Get(1)
+ if sel.Nodes[1] != node {
+ t.Errorf("Expected node %v to be %v.", node, sel.Nodes[1])
+ }
+}
+
+func TestGetNegative(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ node := sel.Get(-3)
+ if sel.Nodes[0] != node {
+ t.Errorf("Expected node %v to be %v.", node, sel.Nodes[0])
+ }
+}
+
+func TestGetInvalid(t *testing.T) {
+ defer assertPanic(t)
+ sel := Doc().Find(".pvk-content")
+ sel.Get(129)
+}
+
+func TestIndex(t *testing.T) {
+ sel := Doc().Find(".pvk-content")
+ if i := sel.Index(); i != 1 {
+ t.Errorf("Expected index of 1, got %v.", i)
+ }
+}
+
+func TestIndexSelector(t *testing.T) {
+ sel := Doc().Find(".hero-unit")
+ if i := sel.IndexSelector("div"); i != 4 {
+ t.Errorf("Expected index of 4, got %v.", i)
+ }
+}
+
+func TestIndexSelectorInvalid(t *testing.T) {
+ sel := Doc().Find(".hero-unit")
+ if i := sel.IndexSelector(""); i != -1 {
+ t.Errorf("Expected index of -1, got %v.", i)
+ }
+}
+
+func TestIndexOfNode(t *testing.T) {
+ sel := Doc().Find("div.pvk-gutter")
+ if i := sel.IndexOfNode(sel.Nodes[1]); i != 1 {
+ t.Errorf("Expected index of 1, got %v.", i)
+ }
+}
+
+func TestIndexOfNilNode(t *testing.T) {
+ sel := Doc().Find("div.pvk-gutter")
+ if i := sel.IndexOfNode(nil); i != -1 {
+ t.Errorf("Expected index of -1, got %v.", i)
+ }
+}
+
+func TestIndexOfSelection(t *testing.T) {
+ sel := Doc().Find("div")
+ sel2 := Doc().Find(".hero-unit")
+ if i := sel.IndexOfSelection(sel2); i != 4 {
+ t.Errorf("Expected index of 4, got %v.", i)
+ }
+}