1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
suite 'Creating XML with stream writer:', ->
hook = null
setup 'hook stdout.write', ->
hook = captureStream(process.stdout)
return
teardown 'unhook stdout.write', ->
hook.unhook()
return
test 'Pretty print attributes - 1', ->
xml('test', { headless: true })
.ele('node', {"first":"1", "second":"2"})
.end(builder.streamWriter(process.stdout, { pretty: true, width: 20 }))
eq(
hook.captured()
"""
<test>
<node first="1"
second="2"/>
</test>
"""
)
test 'Pretty print attributes - 2', ->
xml('test', { headless: true })
.ele('node', {"first":"1", "second":"2", "third":"33333333333333333333", "fourth": 4})
.end(builder.streamWriter(process.stdout, { pretty: true, width: 10 }))
eq(
hook.captured()
"""
<test>
<node
first="1"
second="2"
third="33333333333333333333"
fourth="4"/>
</test>
"""
)
test 'Pretty print attributes - 3', ->
xml('test', { headless: true })
.ele('node', {"first":"1", "second":"2", "third":"33333333333333333333", "fourth": 4})
.end(builder.streamWriter(process.stdout, { pretty: true, width: 1 }))
eq(
hook.captured()
"""
<test>
<node
first="1"
second="2"
third="33333333333333333333"
fourth="4"/>
</test>
"""
)
test 'Pretty print attributes - 4', ->
xml('test', { headless: true })
.ele('node', {"first":"1", "second":"2"}).ele('child')
.end(builder.streamWriter(process.stdout, { pretty: true, width: 10 }))
eq(
hook.captured()
"""
<test>
<node
first="1"
second="2">
<child/>
</node>
</test>
"""
)
|