示例#1
0
        public virtual void SupportsClone()
        {
            Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<div class=foo>Text</div>");

            iText.StyledXmlParser.Jsoup.Nodes.Element el = doc.Select("div").First();
            NUnit.Framework.Assert.IsTrue(el.HasClass("foo"));
            iText.StyledXmlParser.Jsoup.Nodes.Element elClone = ((Document)doc.Clone()).Select("div").First();
            NUnit.Framework.Assert.IsTrue(elClone.HasClass("foo"));
            NUnit.Framework.Assert.IsTrue(elClone.Text().Equals("Text"));
            el.RemoveClass("foo");
            el.Text("None");
            NUnit.Framework.Assert.IsFalse(el.HasClass("foo"));
            NUnit.Framework.Assert.IsTrue(elClone.HasClass("foo"));
            NUnit.Framework.Assert.IsTrue(el.Text().Equals("None"));
            NUnit.Framework.Assert.IsTrue(elClone.Text().Equals("Text"));
        }
示例#2
0
        public virtual void TestRemove()
        {
            Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<p>One <span>two</span> three</p>");

            iText.StyledXmlParser.Jsoup.Nodes.Element p = doc.Select("p").First();
            p.ChildNode(0).Remove();
            NUnit.Framework.Assert.AreEqual("two three", p.Text());
            NUnit.Framework.Assert.AreEqual("<span>two</span> three", TextUtil.StripNewlines(p.Html()));
        }
示例#3
0
        public virtual void LetterDigitEntities()
        {
            String   html = "<p>&sup1;&sup2;&sup3;&frac14;&frac12;&frac34;</p>";
            Document doc  = iText.StyledXmlParser.Jsoup.Jsoup.Parse(html);

            doc.OutputSettings().Charset("ascii");
            iText.StyledXmlParser.Jsoup.Nodes.Element p = doc.Select("p").First();
            NUnit.Framework.Assert.AreEqual("&sup1;&sup2;&sup3;&frac14;&frac12;&frac34;", p.Html());
            NUnit.Framework.Assert.AreEqual("¹²³¼½¾", p.Text());
            doc.OutputSettings().Charset("UTF-8");
            NUnit.Framework.Assert.AreEqual("¹²³¼½¾", p.Html());
        }
示例#4
0
        public virtual void NodeIsNotASiblingOfItself()
        {
            Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<div><p>One<p>Two<p>Three</div>");

            iText.StyledXmlParser.Jsoup.Nodes.Element p2 = doc.Select("p")[1];
            NUnit.Framework.Assert.AreEqual("Two", p2.Text());
            IList <iText.StyledXmlParser.Jsoup.Nodes.Node> nodes = p2.SiblingNodes();

            NUnit.Framework.Assert.AreEqual(2, nodes.Count);
            NUnit.Framework.Assert.AreEqual("<p>One</p>", nodes[0].OuterHtml());
            NUnit.Framework.Assert.AreEqual("<p>Three</p>", nodes[1].OuterHtml());
        }
        public virtual void TestSplitText()
        {
            Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<div>Hello there</div>");

            iText.StyledXmlParser.Jsoup.Nodes.Element div = doc.Select("div").First();
            TextNode tn   = (TextNode)div.ChildNode(0);
            TextNode tail = tn.SplitText(6);

            NUnit.Framework.Assert.AreEqual("Hello ", tn.GetWholeText());
            NUnit.Framework.Assert.AreEqual("there", tail.GetWholeText());
            tail.Text("there!");
            NUnit.Framework.Assert.AreEqual("Hello there!", div.Text());
            NUnit.Framework.Assert.IsTrue(tn.Parent() == tail.Parent());
        }
示例#6
0
 /// <summary>
 /// Set the document's
 /// <paramref name="title"/>
 /// element. Updates the existing element, or adds
 /// <paramref name="title"/>
 /// to
 /// <c>head</c>
 /// if
 /// not present
 /// </summary>
 /// <param name="title">string to set as title</param>
 public virtual void Title(String title)
 {
     Validate.NotNull(title);
     iText.StyledXmlParser.Jsoup.Nodes.Element titleEl = GetElementsByTag("title").First();
     if (titleEl == null)
     {
         // add to head
         Head().AppendElement("title").Text(title);
     }
     else
     {
         titleEl.Text(title);
     }
 }
        public virtual void TestTextBean()
        {
            Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<p>One <span>two &amp;</span> three &amp;</p>");

            iText.StyledXmlParser.Jsoup.Nodes.Element p    = doc.Select("p").First();
            iText.StyledXmlParser.Jsoup.Nodes.Element span = doc.Select("span").First();
            NUnit.Framework.Assert.AreEqual("two &", span.Text());
            TextNode spanText = (TextNode)span.ChildNode(0);

            NUnit.Framework.Assert.AreEqual("two &", spanText.Text());
            TextNode tn = (TextNode)p.ChildNode(2);

            NUnit.Framework.Assert.AreEqual(" three &", tn.Text());
            tn.Text(" POW!");
            NUnit.Framework.Assert.AreEqual("One <span>two &amp;</span> POW!", TextUtil.StripNewlines(p.Html()));
            tn.Attr("text", "kablam &");
            NUnit.Framework.Assert.AreEqual("kablam &", tn.Text());
            NUnit.Framework.Assert.AreEqual("One <span>two &amp;</span>kablam &amp;", TextUtil.StripNewlines(p.Html())
                                            );
        }
示例#8
0
 /// <summary>
 /// Get the string contents of the document's
 /// <c>title</c>
 /// element.
 /// </summary>
 /// <returns>Trimmed title, or empty string if none set.</returns>
 public virtual String Title()
 {
     // title is a preserve whitespace tag (for document output), but normalised here
     iText.StyledXmlParser.Jsoup.Nodes.Element titleEl = GetElementsByTag("title").First();
     return(titleEl != null?iText.StyledXmlParser.Jsoup.Helper.StringUtil.NormaliseWhitespace(titleEl.Text())
            .Trim() : "");
 }
示例#9
0
 /// <summary>Returns the element text.</summary>
 /// <returns>the text</returns>
 public virtual String Text()
 {
     return(element.Text());
 }