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
This commit is contained in:
Michael Voronin 2022-12-22 10:32:12 +03:00 • committed by GitHub
commit 7931bdac95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 552 additions and 3 deletions

View file

@ -0,0 +1,47 @@
discard """
output: '''
<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
let initialDocBase = """
<xml>
<head>
<div>Some text</div>
<div>Some more text </div>
</head>
<tag>
<div>MORE TEXT </div>
<div>MORE TEXT Some more text</div>
</tag>
<tag>
<div>MORE TEXT </div>
<div>MORE TEXT Some more text</div>
</tag>
<body>
<div>Some text in body</div>
<div>Some more text in body </div>
</body>
</xml>
"""
var initialDocBaseTree = parseXml(initialDocBase)
proc test_delete() =
var testDoc = initialDocBaseTree
testDoc.delete(1..2)
echo $testDoc
test_delete()