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);
        }
Exemple #2
0
        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();
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }