diff options
author | Aleksandar Prokopec <axel22@gmail.com> | 2012-05-04 10:46:29 +0200 |
---|---|---|
committer | Aleksandar Prokopec <axel22@gmail.com> | 2012-05-04 10:48:57 +0200 |
commit | 628eaa5aca0117823327571a1384f0d717fd7b4e (patch) | |
tree | 4b0826cea24d0c94c15bbca0b23e6b177336682d /test/files/run/t5018.scala | |
parent | f146d5826fc335ee1ca9c285d69086a7475cb71e (diff) | |
download | scala-628eaa5aca0117823327571a1384f0d717fd7b4e.tar.gz scala-628eaa5aca0117823327571a1384f0d717fd7b4e.tar.bz2 scala-628eaa5aca0117823327571a1384f0d717fd7b4e.zip |
Fix for si-5018.
Methods keySet, values and withDefault now return serializable collections.
Diffstat (limited to 'test/files/run/t5018.scala')
-rw-r--r-- | test/files/run/t5018.scala | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/files/run/t5018.scala b/test/files/run/t5018.scala new file mode 100644 index 0000000000..bb67a252e5 --- /dev/null +++ b/test/files/run/t5018.scala @@ -0,0 +1,37 @@ + + + +import java.io._ +import collection._ + + + +object Test { + + def serializeDeserialize[T <: AnyRef](obj: T) = { + val buffer = new ByteArrayOutputStream + val out = new ObjectOutputStream(buffer) + out.writeObject(obj) + val in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray)) + in.readObject.asInstanceOf[T] + } + + def main(args: Array[String]) { + val values = mutable.Map(1 -> 1).values + assert(serializeDeserialize(values).toList == values.toList) + + val keyset = mutable.Map(1 -> 1).keySet + assert(serializeDeserialize(keyset) == keyset) + + val imkeyset = immutable.Map(1 -> 1).keySet + assert(serializeDeserialize(imkeyset) == imkeyset) + + val defaultmap = immutable.Map(1 -> 1).withDefaultValue(1) + assert(serializeDeserialize(defaultmap) == defaultmap) + + val minusmap = mutable.Map(1 -> 1).withDefault(x => -x) + assert(serializeDeserialize(minusmap) == minusmap) + } + +} + |