summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@typesafe.com>2015-10-21 09:49:38 +0200
committerLukas Rytz <lukas.rytz@typesafe.com>2015-10-21 09:49:38 +0200
commit462dc9af886391c9c31cb6949b15e69b0cab55ef (patch)
treef2ef218958a0e9c0a0dd5706380bb190378bcb74 /test
parent6df88b024f720a10d3f7451750ab620addf725b9 (diff)
parent3141fdd6628df5c123db0250abc8ccfcf20d7eff (diff)
downloadscala-462dc9af886391c9c31cb6949b15e69b0cab55ef.tar.gz
scala-462dc9af886391c9c31cb6949b15e69b0cab55ef.tar.bz2
scala-462dc9af886391c9c31cb6949b15e69b0cab55ef.zip
Merge pull request #4802 from SethTisue/merge-2.11-to-2.12-oct-16
merge 2.11 to 2.12 Oct 16
Diffstat (limited to 'test')
-rw-r--r--test/files/run/repl-paste-5.check28
-rw-r--r--test/files/run/repl-paste-5.scala18
-rw-r--r--test/junit/scala/collection/mutable/OpenHashMapTest.scala42
3 files changed, 88 insertions, 0 deletions
diff --git a/test/files/run/repl-paste-5.check b/test/files/run/repl-paste-5.check
new file mode 100644
index 0000000000..8b97b8888d
--- /dev/null
+++ b/test/files/run/repl-paste-5.check
@@ -0,0 +1,28 @@
+
+scala> :paste < EOF
+// Entering paste mode (EOF to finish)
+
+class C { def c = 42 }
+EOF
+
+// Exiting paste mode, now interpreting.
+
+defined class C
+
+scala> new C().c
+res0: Int = 42
+
+scala> :paste <| EOF
+// Entering paste mode (EOF to finish)
+
+ |class D { def d = 42 }
+EOF
+
+// Exiting paste mode, now interpreting.
+
+defined class D
+
+scala> new D().d
+res1: Int = 42
+
+scala> :quit
diff --git a/test/files/run/repl-paste-5.scala b/test/files/run/repl-paste-5.scala
new file mode 100644
index 0000000000..890f47f141
--- /dev/null
+++ b/test/files/run/repl-paste-5.scala
@@ -0,0 +1,18 @@
+
+import scala.tools.partest.ReplTest
+
+object Test extends ReplTest {
+ //def code = ":paste < EOF\n" + (
+ def code =
+ """
+:paste < EOF
+class C { def c = 42 }
+EOF
+new C().c
+:paste <| EOF
+ |class D { def d = 42 }
+EOF
+new D().d
+ """
+ //)
+}
diff --git a/test/junit/scala/collection/mutable/OpenHashMapTest.scala b/test/junit/scala/collection/mutable/OpenHashMapTest.scala
new file mode 100644
index 0000000000..9b5c20e01a
--- /dev/null
+++ b/test/junit/scala/collection/mutable/OpenHashMapTest.scala
@@ -0,0 +1,42 @@
+package scala.collection.mutable
+
+import org.junit.Test
+import org.junit.Assert._
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+/** Tests for [[OpenHashMap]]. */
+@RunWith(classOf[JUnit4])
+class OpenHashMapTest {
+ /** Test that an [[OpenHashMap]] correctly maintains its internal `deleted` count. */
+ @Test
+ def maintainsDeletedCount {
+ val m = OpenHashMap.empty[Int, Int]
+
+ // Reflect to get the private `deleted` field's value, which should be zero.
+
+ /* TODO Doesn't work, due to SI-9306.
+ import scala.reflect.runtime.{universe => ru}
+
+ val mirror = ru.runtimeMirror(m.getClass.getClassLoader)
+ val mapType = ru.typeOf[OpenHashMap[Int, Int]]
+ val termSym = mapType.decls
+ .filterNot { s => s.isMethod }
+ .filter { s => s.fullName.endsWith("deleted") }
+ .head.asTerm
+
+ val fieldMirror = mirror.reflect(m).reflectField(termSym)
+ */
+ // Use Java reflection instead for now.
+ val field = m.getClass.getDeclaredField("deleted")
+ field.setAccessible(true)
+
+ m.put(0, 0)
+ m.remove(0)
+ assertEquals(1, field.getInt(m))
+
+ m.put(0, 0) // Add an entry with the same key
+ // TODO assertEquals(0, fieldMirror.get.asInstanceOf[Int])
+ assertEquals(0, field.getInt(m))
+ }
+}