public virtual void TestReplace() { Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<p>One <span>two</span> three</p>"); iText.StyledXmlParser.Jsoup.Nodes.Element p = doc.Select("p").First(); iText.StyledXmlParser.Jsoup.Nodes.Element insert = doc.CreateElement("em").Text("foo"); p.ChildNode(1).ReplaceWith(insert); NUnit.Framework.Assert.AreEqual("One <em>foo</em> three", p.Html()); }
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())); }
public virtual void TestSplitAnEmbolden() { 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); tail.Wrap("<b></b>"); NUnit.Framework.Assert.AreEqual("Hello <b>there</b>", TextUtil.StripNewlines(div.Html())); }
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()); }
public virtual void Unwrap() { Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<div>One <span>Two <b>Three</b></span> Four</div>" ); iText.StyledXmlParser.Jsoup.Nodes.Element span = doc.Select("span").First(); iText.StyledXmlParser.Jsoup.Nodes.Node twoText = span.ChildNode(0); iText.StyledXmlParser.Jsoup.Nodes.Node node = span.Unwrap(); NUnit.Framework.Assert.AreEqual("<div>One Two <b>Three</b> Four</div>", TextUtil.StripNewlines(doc.Body(). Html())); NUnit.Framework.Assert.IsTrue(node is TextNode); NUnit.Framework.Assert.AreEqual("Two ", ((TextNode)node).Text()); NUnit.Framework.Assert.AreEqual(node, twoText); NUnit.Framework.Assert.AreEqual(node.Parent(), doc.Select("div").First()); }
public virtual void ChildNodesCopy() { Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<div id=1>Text 1 <p>One</p> Text 2 <p>Two<p>Three</div><div id=2>" ); iText.StyledXmlParser.Jsoup.Nodes.Element div1 = doc.Select("#1").First(); iText.StyledXmlParser.Jsoup.Nodes.Element div2 = doc.Select("#2").First(); IList <iText.StyledXmlParser.Jsoup.Nodes.Node> divChildren = div1.ChildNodesCopy(); NUnit.Framework.Assert.AreEqual(5, divChildren.Count); TextNode tn1 = (TextNode)div1.ChildNode(0); TextNode tn2 = (TextNode)divChildren[0]; tn2.Text("Text 1 updated"); NUnit.Framework.Assert.AreEqual("Text 1 ", tn1.Text()); div2.InsertChildren(-1, divChildren); NUnit.Framework.Assert.AreEqual("<div id=\"1\">Text 1 <p>One</p> Text 2 <p>Two</p><p>Three</p></div><div id=\"2\">Text 1 updated" + "<p>One</p> Text 2 <p>Two</p><p>Three</p></div>", TextUtil.StripNewlines(doc.Body().Html())); }
public virtual void TestTextBean() { Document doc = iText.StyledXmlParser.Jsoup.Jsoup.Parse("<p>One <span>two &</span> three &</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 &</span> POW!", TextUtil.StripNewlines(p.Html())); tn.Attr("text", "kablam &"); NUnit.Framework.Assert.AreEqual("kablam &", tn.Text()); NUnit.Framework.Assert.AreEqual("One <span>two &</span>kablam &", TextUtil.StripNewlines(p.Html()) ); }