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:
parent
93b59da490
commit
7931bdac95
9 changed files with 552 additions and 3 deletions
53
tests/xml/ttree_insert.nim
Normal file
53
tests/xml/ttree_insert.nim
Normal file
|
|
@ -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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue