summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-01-30 13:30:54 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-01-30 13:30:54 -0800
commitf59aeb58681d1dba8d32886de4785f6fb8dc9eff (patch)
tree0e3f08c88bb99056d979be4545a3d21223aa2531 /test
parent50f38393af6d5aee3739cc73fdd5c7d22361390a (diff)
parentf97e2d42eb211d429b27f79fe993bf48c92e9740 (diff)
downloadscala-f59aeb58681d1dba8d32886de4785f6fb8dc9eff.tar.gz
scala-f59aeb58681d1dba8d32886de4785f6fb8dc9eff.tar.bz2
scala-f59aeb58681d1dba8d32886de4785f6fb8dc9eff.zip
Merge pull request #3434 from Ichoran/issue/8213
SI-8213 AnyRefMap.getOrElseUpdate is faulty
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/collection/SetMapConsistencyTest.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/junit/scala/collection/SetMapConsistencyTest.scala b/test/junit/scala/collection/SetMapConsistencyTest.scala
index c62b074483..7bb8ca958b 100644
--- a/test/junit/scala/collection/SetMapConsistencyTest.scala
+++ b/test/junit/scala/collection/SetMapConsistencyTest.scala
@@ -476,4 +476,16 @@ class SetMapConsistencyTest {
}
assert(test)
}
+
+ @Test
+ def si8213() {
+ val am = new scala.collection.mutable.AnyRefMap[String, Int]
+ for (i <- 0 until 1024) am += i.toString -> i
+ am.getOrElseUpdate("1024", { am.clear; -1 })
+ assert(am == scala.collection.mutable.AnyRefMap("1024" -> -1))
+ val lm = new scala.collection.mutable.LongMap[Int]
+ for (i <- 0 until 1024) lm += i.toLong -> i
+ lm.getOrElseUpdate(1024, { lm.clear; -1 })
+ assert(lm == scala.collection.mutable.LongMap(1024L -> -1))
+ }
}