discard """ matrix: "--mm:refc; --mm:orc" """ import std/[xmltree, assertions, xmlparser] block: var x: XmlNode x = <>a(href = "http://nim-lang.org", newText("Nim rules.")) doAssert $x == """Nim rules.""" x = <>outer(<>inner()) doAssert $x == """ """ x = <>outer(<>middle(<>inner1(), <>inner2(), <>inner3(), <>inner4())) doAssert $x == """ """ x = <>l0(<>l1(<>l2(<>l3(<>l4())))) doAssert $x == """ """ x = <>l0(<>l1p1(), <>l1p2(), <>l1p3()) doAssert $x == """ """ x = <>l0(<>l1(<>l2p1(), <>l2p2())) doAssert $x == """ """ x = <>l0(<>l1(<>l2_1(), <>l2_2(<>l3_1(), <>l3_2(), <>l3_3(<>l4_1(), <>l4_2(), <>l4_3())), <>l2_3(), <>l2_4())) doAssert $x == """ """ let innermost = newElement("innermost") middle = newXmlTree("middle", [innermost]) innermost.add newText("innermost text") x = newXmlTree("outer", [middle]) doAssert $x == """ innermost text """ x = newElement("myTag") x.add newText("my text") x.add newElement("sonTag") x.add newEntity("my entity") doAssert $x == "my text&my entity;" block: # bug #21290 let x = newXmlTree("foo",[ newXmlTree("bar",[ newText("Hola"), newXmlTree("qux",[ newXmlTree("plugh",[]) ]) ]) ]) let s = $x doAssert $parseXml(s) == s doAssert s == """ Hola """ block: #21541 let root = <>root() root.add <>child(newText("hello")) root.add <>more(newVerbatimText("hola")) let s = $root doAssert s == """ hello hola """ let temp = newVerbatimText("Hello!") doAssert temp.text == "Hello!" temp.text = "Hola!" doAssert temp.text == "Hola!"