blob: f2f0351e513f7ddf960b694f2cc653b5835147e9 [file] [log] [blame]
package groovy.util
class XmlParserTest extends GroovyTestCase {
void testXmlParser() {
text = """
<characters>
<character id="1" name="Wallace">
<likes>cheese</likes>
</character>
<character id="2" name="Gromit">
<likes>sleep</likes>
</character>
</characters>
"""
node = new XmlParser().parseText(text);
assert node != null
assert node.children().size() == 2 : "Children ${node.children()}"
characters = node.character
for (c in characters) {
println c['@name']
}
assert characters.size() == 2
assert node.character.likes.size() == 2 : "Likes ${node.character.likes}"
// lets find Gromit
gromit = node.character.find { it['@id'] == '2' }
assert gromit != null : "Should have found Gromit!"
assert gromit['@name'] == "Gromit"
// lets find what Wallace likes in 1 query
answer = node.character.find { it['@id'] == '1' }.likes[0].text()
assert answer == "cheese"
}
void testMixedMarkup() {
text = <<<EOF
<p>Please read the <a href="index.html">Home</a> page</p>
EOF
node = new XmlParser().parseText(text)
new NodePrinter().print(node)
assert node != null
children = node.children()
assert children.size() == 3 : "Children ${children}"
assert children[0] instanceof String
assert children[1] instanceof Node
assert children[2] instanceof String
}
}