Skip to content

Commit ecfd897

Browse files
author
Joe Barnes
committed
Added two failing tests for serialization
1 parent 859c34e commit ecfd897

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package scala.xml
2+
3+
import java.io._
4+
5+
import org.junit.Assert.assertEquals
6+
import org.junit.Test
7+
8+
class SerializationTest {
9+
def roundTrip[T](obj: T): T = {
10+
def serialize(in: T): Array[Byte] = {
11+
val bos = new ByteArrayOutputStream()
12+
val oos = new ObjectOutputStream(bos)
13+
oos.writeObject(in)
14+
oos.flush()
15+
bos.toByteArray()
16+
}
17+
18+
def deserialize(in: Array[Byte]): T = {
19+
val bis = new ByteArrayInputStream(in)
20+
val ois = new ObjectInputStream(bis)
21+
ois.readObject.asInstanceOf[T]
22+
}
23+
24+
deserialize(serialize(obj))
25+
}
26+
27+
@Test
28+
def xmlLiteral: Unit = {
29+
val n = <node/>
30+
assertEquals(n, roundTrip(n))
31+
}
32+
33+
@Test
34+
def empty: Unit = {
35+
assertEquals(NodeSeq.Empty, roundTrip(NodeSeq.Empty))
36+
}
37+
38+
@Test
39+
def implicitConversion: Unit = {
40+
val parent = <parent><child></child><child/></parent>
41+
val children: Seq[Node] = parent.child
42+
val asNodeSeq: NodeSeq = children
43+
assertEquals(asNodeSeq, roundTrip(asNodeSeq))
44+
}
45+
}

0 commit comments

Comments
 (0)