vlib: add an encoding.xml module with parser, validation, entity encoding, unit tests (#19708)

This commit is contained in:
Subhomoy Haldar 2023-11-06 13:14:30 +00:00 committed by GitHub
parent 01022e918e
commit 35558df96c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 2004 additions and 1 deletions

View file

@ -0,0 +1,14 @@
<level1>
<level2>
<level3>
<level4>
Deeply nested content.
</level4>
</level3>
</level2>
<level2>
<level3>
Less deeply nested content.
</level3>
</level2>
</level1>

View file

@ -0,0 +1,44 @@
import os
import encoding.xml
fn test_valid_parsing() ! {
path := os.join_path(os.dir(@FILE), 'nested.xml')
expected := xml.XMLDocument{
root: xml.XMLNode{
name: 'level1'
children: [
xml.XMLNode{
name: 'level2'
children: [
xml.XMLNode{
name: 'level3'
children: [
xml.XMLNode{
name: 'level4'
children: [
'Deeply nested content.',
]
},
]
},
]
},
xml.XMLNode{
name: 'level2'
children: [
xml.XMLNode{
name: 'level3'
children: [
'Less deeply nested content.',
]
},
]
},
]
}
}
actual := xml.XMLDocument.from_file(path)!
assert expected == actual, 'Parsed XML document should be equal to expected XML document'
}