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.") } }