summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPrashant Sharma <scrapcodes@gmail.com>2015-06-10 10:38:54 +0530
committerPrashant Sharma <scrapcodes@gmail.com>2015-06-10 11:51:45 +0530
commit39a5e1aed93f7b1483802a0248295229d711e072 (patch)
treedc036c74edb9b096060a2696d9fab2239a7f3fb4 /test
parentdb114aa44efe63763a883dcf07d667fe7d744ff6 (diff)
downloadscala-39a5e1aed93f7b1483802a0248295229d711e072.tar.gz
scala-39a5e1aed93f7b1483802a0248295229d711e072.tar.bz2
scala-39a5e1aed93f7b1483802a0248295229d711e072.zip
SI-7747 More tests and logic according to our conclusions on #4522.
Diffstat (limited to 'test')
-rw-r--r--test/files/run/repl-serialization.check4
-rw-r--r--test/files/run/repl-serialization.scala5
-rw-r--r--test/files/run/t7747-repl.check14
-rw-r--r--test/files/run/t7747-repl.scala4
4 files changed, 25 insertions, 2 deletions
diff --git a/test/files/run/repl-serialization.check b/test/files/run/repl-serialization.check
index c8439ea023..eb62729f5c 100644
--- a/test/files/run/repl-serialization.check
+++ b/test/files/run/repl-serialization.check
@@ -2,6 +2,8 @@
extract: AnyRef => Unit = <function1>
evaluating x
x: Int = 0
+getX: ()Int
+defined class U
y: Int = <lazy>
evaluating z
evaluating zz
@@ -11,6 +13,8 @@ zz: Int = 0
defined object O
defined class A
defined type alias AA
+constructing U
+u: U = U
== evaluating lambda
evaluating y
evaluating O
diff --git a/test/files/run/repl-serialization.scala b/test/files/run/repl-serialization.scala
index 64915ce51e..55b7519631 100644
--- a/test/files/run/repl-serialization.scala
+++ b/test/files/run/repl-serialization.scala
@@ -25,12 +25,15 @@ object Test {
val code =
"""val x = {println(" evaluating x"); 0 }
+ |def getX() = x
+ |class U extends Serializable { println("constructing U"); val x = 0 ; override def toString = "U" }
|lazy val y = {println(" evaluating y"); 0 }
|class D; val z = {println(" evaluating z"); 0}; val zz = {println(" evaluating zz"); 0}
|object O extends Serializable { val apply = {println(" evaluating O"); 0} }
|class A(i: Int) { println(" constructing A") }
|type AA = A
- |extract(() => new AA(x + y + z + zz + O.apply))
+ |val u = new U()
+ |extract(() => new AA(x + getX() + y + z + zz + O.apply + u.x))
""".stripMargin
imain = new IMain(settings)
diff --git a/test/files/run/t7747-repl.check b/test/files/run/t7747-repl.check
index af47f23c62..5f436ba6b1 100644
--- a/test/files/run/t7747-repl.check
+++ b/test/files/run/t7747-repl.check
@@ -284,6 +284,18 @@ object $read extends scala.AnyRef {
}
res3: List[Product with Serializable] = List(BippyBups(), PuppyPups(), Bingo())
+scala> case class Sum(exp: String, exp2: String)
+defined class Sum
+
+scala> val a = Sum("A", "B")
+a: Sum = Sum(A,B)
+
+scala> def b(a: Sum): String = a match { case Sum(_, _) => "Found Sum" }
+b: (a: Sum)String
+
+scala> b(a)
+res4: String = Found Sum
+
scala> :power
** Power User mode enabled - BEEP WHIR GYVE **
** :phase has been set to 'typer'. **
@@ -292,6 +304,6 @@ scala> :power
** Try :help, :vals, power.<tab> **
scala> intp.lastRequest
-res4: $r.intp.Request = Request(line=def $ires3 = intp.global, 1 trees)
+res5: $r.intp.Request = Request(line=def $ires3 = intp.global, 1 trees)
scala> :quit
diff --git a/test/files/run/t7747-repl.scala b/test/files/run/t7747-repl.scala
index a681eb8851..141c2d9844 100644
--- a/test/files/run/t7747-repl.scala
+++ b/test/files/run/t7747-repl.scala
@@ -65,6 +65,10 @@ object Test extends ReplTest {
|case class PuppyPups()
|case class Bingo()
|List(BippyBups(), PuppyPups(), Bingo()) // show
+ |case class Sum(exp: String, exp2: String)
+ |val a = Sum("A", "B")
+ |def b(a: Sum): String = a match { case Sum(_, _) => "Found Sum" }
+ |b(a)
|:power
|intp.lastRequest
|""".stripMargin