diff options
author | Michael Voronin <survivor.mail@gmail.com> | 2022-12-22 10:32:12 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-22 08:32:12 +0100 |
commit | 7931bdac956cb3ad6734eab91c62920f4e80f919 (patch) | |
tree | 08f275175573391aa327587198a30fbb685343cf /tests/xml/ttree_insert.nim | |
parent | 93b59da4902886cd68dd7df1dce09a1b455a06dc (diff) | |
download | Nim-7931bdac956cb3ad6734eab91c62920f4e80f919.tar.gz |
Feature/xmltree additions (#20988)
* [change] add/insert/delete family of xmltree expanded with several variations. Added replace methods family * [change] Lifted child limitations on insert methods (consulted with @araq) * [tests] add/insert/replace/delete of xmltree XmlNodes tests added
Diffstat (limited to 'tests/xml/ttree_insert.nim')
-rw-r--r-- | tests/xml/ttree_insert.nim | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/xml/ttree_insert.nim b/tests/xml/ttree_insert.nim new file mode 100644 index 000000000..b2941395b --- /dev/null +++ b/tests/xml/ttree_insert.nim @@ -0,0 +1,53 @@ +discard """ + output: ''' +<body> + <div>Some text in body</div> + <div>Some more text in body </div> +</body> +<xml> + <head> + <div>Some text</div> + <div>Some more text </div> + </head> + <body> + <div>Some text in body</div> + <div>Some more text in body </div> + </body> +</xml> +''' +""" + +# Test xmltree add/insert/delete/replace operations +import xmlparser +import xmltree +var baseDocHead = """ +<xml> + <head> + <div>Some text</div> + <div>Some more text </div> + </head> +</xml> +""" +var baseDocHeadTree = parseXml(baseDocHead) +var baseDocBody = """ +<body> + <div>Some text in body</div> + <div>Some more text in body </div> +</body> +""" +var baseDocBodyTree = parseXml(baseDocBody) + +proc test_insert() = + var testDoc = baseDocHeadTree + var newBody = newElement("body") + var bodyItems: seq[XmlNode] = @[] + for item in baseDocBodyTree.items(): + bodyItems.insert(item, len(bodyItems)) + newBody.insert(bodyItems, 1) + + echo $newBody + + testDoc.insert(newBody, 1) + echo $testDoc + +test_insert() |