blob: 81fac5648ccfb012c674aaec89c23680fa86d22f [file] [log] [blame]
package groovy.xml
class TraversalTestSupport {
private static def nestedXml = '''
<_1>
<_1_1>
<_1_1_1/>
<_1_1_2>
<_1_1_2_1/>
</_1_1_2>
</_1_1>
<_1_2>
<_1_2_1/>
</_1_2>
</_1>
'''
static void checkDepthFirst(Closure getRoot) {
def root = getRoot(nestedXml)
def trace = ''
root.depthFirst().each{ trace += it.name() + ' ' }
assert trace == '_1 _1_1 _1_1_1 _1_1_2 _1_1_2_1 _1_2 _1_2_1 '
// test shorthand
trace = ''
root.'_1_2'.'**'.each{ trace += it.name() + ' ' }
assert trace == '_1_2 _1_2_1 '
}
static void checkBreadthFirst(Closure getRoot) {
def root = getRoot(nestedXml)
def trace = ''
root.breadthFirst().each{ trace += it.name() + ' ' }
assert trace == '_1 _1_1 _1_2 _1_1_1 _1_1_2 _1_2_1 _1_1_2_1 '
}
}