summaryrefslogtreecommitdiff
path: root/ebics/src/test/kotlin/XmlCombinatorsTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'ebics/src/test/kotlin/XmlCombinatorsTest.kt')
-rw-r--r--ebics/src/test/kotlin/XmlCombinatorsTest.kt37
1 files changed, 23 insertions, 14 deletions
diff --git a/ebics/src/test/kotlin/XmlCombinatorsTest.kt b/ebics/src/test/kotlin/XmlCombinatorsTest.kt
index 8d722414..396de451 100644
--- a/ebics/src/test/kotlin/XmlCombinatorsTest.kt
+++ b/ebics/src/test/kotlin/XmlCombinatorsTest.kt
@@ -19,49 +19,58 @@
import org.junit.Test
import tech.libeufin.ebics.XmlBuilder
-import tech.libeufin.ebics.constructXml
+import tech.libeufin.ebics.XMLUtil
import kotlin.test.assertEquals
class XmlCombinatorsTest {
+ fun testBuilder(expected: String, root: String, builder: XmlBuilder.() -> Unit) {
+ val toString = XmlBuilder.toString(root, builder)
+ val toDom = XmlBuilder.toDom(root, null, builder)
+ assertEquals(expected, toString)
+ assertEquals(expected, XMLUtil.convertDomToBytes(toDom).toString(Charsets.UTF_8))
+ }
@Test
fun testWithModularity() {
fun module(base: XmlBuilder) {
base.el("module")
}
- val s = constructXml("root") {
+ testBuilder(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><root><module/></root>",
+ "root"
+ ) {
module(this)
}
- println(s)
- assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><root><module/></root>", s)
}
@Test
fun testWithIterable() {
- val s = constructXml("iterable") {
+ testBuilder(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><iterable><endOfDocument><e1><e11>111</e11></e1><e2><e22>222</e22></e2><e3><e33>333</e33></e3><e4><e44>444</e44></e4><e5><e55>555</e55></e5><e6><e66>666</e66></e6><e7><e77>777</e77></e7><e8><e88>888</e88></e8><e9><e99>999</e99></e9><e10><e1010>101010</e1010></e10></endOfDocument></iterable>",
+ "iterable"
+ ) {
el("endOfDocument") {
for (i in 1..10)
- el("$i/$i$i", "$i$i$i")
+ el("e$i/e$i$i", "$i$i$i")
}
}
- println(s)
- assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><iterable><endOfDocument><1><11>111</11></1><2><22>222</22></2><3><33>333</33></3><4><44>444</44></4><5><55>555</55></5><6><66>666</66></6><7><77>777</77></7><8><88>888</88></8><9><99>999</99></9><10><1010>101010</1010></10></endOfDocument></iterable>", s)
}
@Test
fun testBasicXmlBuilding() {
- val s = constructXml("ebics:ebicsRequest") {
+ testBuilder(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ebicsRequest version=\"H004\"><a><b><c attribute-of=\"c\"><d><e><f nested=\"true\"><g><h/></g></f></e></d></c></b></a><one_more/></ebicsRequest>",
+ "ebicsRequest"
+ ) {
attr("version", "H004")
el("a/b/c") {
attr("attribute-of", "c")
- el("//d/e/f//") {
+ el("d/e/f") {
attr("nested", "true")
- el("g/h/")
+ el("g/h")
}
}
- el("one more")
+ el("one_more")
}
- println(s)
- assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ebics:ebicsRequest version=\"H004\"><a><b><c attribute-of=\"c\"><><><d><e><f><>< nested=\"true\"><g><h></></h></g></></></f></e></d></></></c></b></a><one more/></ebics:ebicsRequest>", s)
}
}