txmltree.nim 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import xmltree
  2. block:
  3. var
  4. x: XmlNode
  5. x = <>a(href = "http://nim-lang.org", newText("Nim rules."))
  6. assert $x == """<a href="http://nim-lang.org">Nim rules.</a>"""
  7. x = <>outer(<>inner())
  8. assert $x == """<outer>
  9. <inner />
  10. </outer>"""
  11. x = <>outer(<>middle(<>inner1(), <>inner2(), <>inner3(), <>inner4()))
  12. assert $x == """<outer>
  13. <middle>
  14. <inner1 />
  15. <inner2 />
  16. <inner3 />
  17. <inner4 />
  18. </middle>
  19. </outer>"""
  20. x = <>l0(<>l1(<>l2(<>l3(<>l4()))))
  21. assert $x == """<l0>
  22. <l1>
  23. <l2>
  24. <l3>
  25. <l4 />
  26. </l3>
  27. </l2>
  28. </l1>
  29. </l0>"""
  30. x = <>l0(<>l1p1(), <>l1p2(), <>l1p3())
  31. assert $x == """<l0>
  32. <l1p1 />
  33. <l1p2 />
  34. <l1p3 />
  35. </l0>"""
  36. x = <>l0(<>l1(<>l2p1(), <>l2p2()))
  37. assert $x == """<l0>
  38. <l1>
  39. <l2p1 />
  40. <l2p2 />
  41. </l1>
  42. </l0>"""
  43. x = <>l0(<>l1(<>l2_1(), <>l2_2(<>l3_1(), <>l3_2(), <>l3_3(<>l4_1(), <>l4_2(), <>l4_3())), <>l2_3(), <>l2_4()))
  44. assert $x == """<l0>
  45. <l1>
  46. <l2_1 />
  47. <l2_2>
  48. <l3_1 />
  49. <l3_2 />
  50. <l3_3>
  51. <l4_1 />
  52. <l4_2 />
  53. <l4_3 />
  54. </l3_3>
  55. </l2_2>
  56. <l2_3 />
  57. <l2_4 />
  58. </l1>
  59. </l0>"""
  60. let
  61. innermost = newElement("innermost")
  62. middle = newXmlTree("middle", [innermost])
  63. innermost.add newText("innermost text")
  64. x = newXmlTree("outer", [middle])
  65. assert $x == """<outer>
  66. <middle>
  67. <innermost>innermost text</innermost>
  68. </middle>
  69. </outer>"""
  70. x = newElement("myTag")
  71. x.add newText("my text")
  72. x.add newElement("sonTag")
  73. x.add newEntity("my entity")
  74. assert $x == "<myTag>my text<sonTag />&my entity;</myTag>"