Esempio n. 1
0
        public void TestGotoTowardChild()
        {
            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(GenerateHtmlPageForGotoTests());

            HtmlNode             firstDivNode = doc.DocumentNode.SelectSingleNode("//div");
            AbstractXPathBuilder divBuilder   = new HtmlXPathBuilder();

            divBuilder.Build(firstDivNode);
            Assert.AreEqual <string>("/html/body/div", divBuilder.ToString());

            HtmlNode             firstH1Node = doc.DocumentNode.SelectSingleNode("//h1");
            AbstractXPathBuilder h1Builder   = new HtmlXPathBuilder();

            h1Builder.Build(firstH1Node);
            Assert.AreEqual <string>("/html/body/div/h1", h1Builder.ToString());

            int score = divBuilder.Goto(h1Builder);

            Assert.AreEqual <string>("./h1", divBuilder.ToString());
            Assert.AreEqual(1, score);
        }
Esempio n. 2
0
        public void TestSingularAndImportantAttributeOptimization()
        {
            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(GenerateHtmlPageForGotoTests());

            HtmlNode firstDivNode = doc.DocumentNode.SelectSingleNode("//h1");

            AbstractXPathBuilder divBuilder = new HtmlXPathBuilder();

            divBuilder.Build(firstDivNode);
            divBuilder.Optimize();

            Assert.AreEqual <string>("//h1[@id=\"list1\"]", divBuilder.ToString());
        }