Exemple #1
0
        public void Parse_should_create_ID_expression_nominal()
        {
            var path = DomPath.Parse("//*[@id=\"hello\"]");

            Assert.Equal("//*[@id=\"hello\"]", path.ToString());
            Assert.Equal("f", path.Select(Document)[0].LocalName);
        }
Exemple #2
0
        public void Parse_should_create_index_expressions()
        {
            var path = DomPath.Parse("/html/body/div[4]/main");

            Assert.Equal("/html/body/div[4]/main", path.ToString());
            Assert.Equal(new [] {
                DomPathExpressionType.Root,
                DomPathExpressionType.Element,
                DomPathExpressionType.Element,
                DomPathExpressionType.Element,
                DomPathExpressionType.Element,
            }, path.Expressions.Select(e => e.Type));
            Assert.Equal(new [] {
                "html",
                "body",
                "div",
                "main",
            }, path.Expressions.Skip(1).Select(e => e.LocalName));
            Assert.Equal(new [] {
                -1,
                -1,
                4,
                -1,
            }, path.Expressions.Skip(1).Select(e => e.Index));
        }
Exemple #3
0
        public void Parse_should_create_attribute_expressions()
        {
            var path = DomPath.Parse("/root/a/b@one");

            Assert.Equal("/root/a/b@one", path.ToString());
            Assert.Same(BElement.Attributes["one"], path.Select(Document)[0]);
        }
Exemple #4
0
        public void Parse_should_create_expressions_and_match()
        {
            var path = DomPath.Parse("/root/a/b/c");

            Assert.Equal("/root/a/b/c", path.ToString());
            Assert.Same(BElement.FirstChild, path.Select(Document)[0]);
        }
Exemple #5
0
        public void Parse_should_match_index_expression()
        {
            var path = DomPath.Parse("/root/a/b/c[2]");

            Assert.Equal("/root/a/b/c[2]", path.ToString());
            var actual = path.Select(Document)[0] as DomElement;

            Assert.Equal("c", actual.LocalName);
            Assert.Equal("present", actual.Attribute("attr"));
        }