Skip to content

Commit d20c9ec

Browse files
committed
Add a test on reading character entities (in ref to #44)
1 parent 928f4bb commit d20c9ec

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

core/src/commonTest/kotlin/nl/adaptivity/xmlutil/TestKtXmlReader.kt

+42
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,46 @@ class TestKtXmlReader {
5353

5454
}
5555
}
56+
57+
@Test
58+
fun testGenericReadEntity() {
59+
val xml = """<tag>&lt;foo&amp;&#039;&gt;</tag>"""
60+
XmlStreaming.newGenericReader(xml).use { reader ->
61+
assertEquals(EventType.START_ELEMENT, reader.nextTag())
62+
assertEquals(QName("tag"), reader.name)
63+
64+
val actualText = StringBuilder()
65+
while (reader.next().isTextElement) {
66+
actualText.append(reader.text)
67+
}
68+
69+
assertEquals("<foo&'>", actualText.toString())
70+
71+
assertEquals(EventType.END_ELEMENT, reader.eventType)
72+
assertEquals(QName("tag"), reader.name)
73+
74+
assertEquals(EventType.END_DOCUMENT, reader.next())
75+
}
76+
}
77+
78+
@Test
79+
fun testReadEntity() {
80+
val xml = """<tag>&lt;foo&amp;&#039;&gt;</tag>"""
81+
XmlStreaming.newReader(xml).use { reader ->
82+
assertEquals(EventType.START_ELEMENT, reader.nextTag())
83+
assertEquals(QName("tag"), reader.name)
84+
85+
val actualText = StringBuilder()
86+
while (reader.next().isTextElement) {
87+
actualText.append(reader.text)
88+
}
89+
90+
assertEquals("<foo&'>", actualText.toString())
91+
92+
assertEquals(EventType.END_ELEMENT, reader.eventType)
93+
assertEquals(QName("tag"), reader.name)
94+
95+
assertEquals(EventType.END_DOCUMENT, reader.next())
96+
}
97+
}
5698
}

0 commit comments

Comments
 (0)