public void ElementsCanBeFoundOnXHtmlPagesTest() { // the namespace on the html forces the xml to use namespaces in xpath queries, or use local-name const string Html = @"<html xmlns=""http://www.w3.org/1999/xhtml""><body><input type=""submit"" name=""test"" value=""foo"" /></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find<HtmlButton>().ByName("test"); var target = new AncestorHtmlElementFinder<AnyHtmlElement>(input); var button = target.AllByTagName("body").ToList(); button.Count.Should().Be(1); }
public void ElementsCanBeFoundOnXHtmlPagesTest() { // the namespace on the html forces the xml to use namespaces in xpath queries, or use local-name const string Html = @"<html xmlns=""http://www.w3.org/1999/xhtml""><body><input type=""submit"" name=""test"" value=""foo"" /></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find <HtmlButton>().ByName("test"); var target = new AncestorHtmlElementFinder <AnyHtmlElement>(input); var button = target.AllByTagName("body").ToList(); button.Count.Should().Be(1); }
public void ExecuteOnMultipleTagsDoesNotReturnNodeInContextTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find<HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder<HtmlElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Any(x => x.TagName == "input").Should().BeFalse(); }
public void ExecuteOnMultipleTagsDoesNotReturnNodeInContextTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find <HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder <HtmlElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Any(x => x.TagName == "input").Should().BeFalse(); }
public void ExecuteOnSingleTagReturnsSpecificElementTypeTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find <HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder <HtmlForm>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(1); }
public void ExecuteOnMultipleTagsReturnsElementsFromTypeHierarchyFromSpecificNodeTest() { const string Html = "<html><head /><body><form name='Test'><select name='Data'><option>First</option></select></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find <HtmlListItem>().Singular(); var target = new AncestorHtmlElementFinder <HtmlFormElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(1); actual.OfType <HtmlList>().Count().Should().Be(1); }
public void ExecuteOnMultipleTagsReturnsAnyElementsFromTypeHierarchyFromSpecificNodeTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form><form name='other'><input type='hidden' name='source' value'here' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find <HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder <HtmlElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(3); actual.OfType <HtmlForm>().Count().Should().Be(1); actual.OfType <AnyHtmlElement>().Count(x => x.TagName == "body").Should().Be(1); actual.OfType <AnyHtmlElement>().Count(x => x.TagName == "html").Should().Be(1); }
public void ExecuteOnMultipleTagsReturnsAnyElementsFromTypeHierarchyFromSpecificNodeTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form><form name='other'><input type='hidden' name='source' value'here' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find<HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder<HtmlElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(3); actual.OfType<HtmlForm>().Count().Should().Be(1); actual.OfType<AnyHtmlElement>().Count(x => x.TagName == "body").Should().Be(1); actual.OfType<AnyHtmlElement>().Count(x => x.TagName == "html").Should().Be(1); }
public void ExecuteOnSingleTagReturnsSpecificElementTypeTest() { const string Html = "<html><head /><body><form name='Test'><input type='text' name='Data' /><input type='checkbox' name='IsSet' /></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find<HtmlInput>().ByName("Data"); var target = new AncestorHtmlElementFinder<HtmlForm>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(1); }
public void ExecuteOnMultipleTagsReturnsElementsFromTypeHierarchyFromSpecificNodeTest() { const string Html = "<html><head /><body><form name='Test'><select name='Data'><option>First</option></select></form></body></html>"; var page = new HtmlPageStub(Html); var input = page.Find<HtmlListItem>().Singular(); var target = new AncestorHtmlElementFinder<HtmlFormElement>(input); var query = target.BuildElementQuery(); var actual = target.Execute(query).ToList(); actual.Count.Should().Be(1); actual.OfType<HtmlList>().Count().Should().Be(1); }