diff options
author | Paul Phillips <paulp@improving.org> | 2011-03-15 02:56:58 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-03-15 02:56:58 +0000 |
commit | e96dba0c9a2467c6cf396c70a48ef0750503c26e (patch) | |
tree | b31f7e00f5d3257dc38b1316ccd71c94e0d1fe9e /test/files/run | |
parent | 7a29fc7de3465a064ffc6e0422d5df4bf39b36a3 (diff) | |
download | scala-e96dba0c9a2467c6cf396c70a48ef0750503c26e.tar.gz scala-e96dba0c9a2467c6cf396c70a48ef0750503c26e.tar.bz2 scala-e96dba0c9a2467c6cf396c70a48ef0750503c26e.zip |
Various chronic annoyances with the repl addres...
Various chronic annoyances with the repl addressed. Much improved
transcript pasting. Now goes back in time to fix the transcript if it
contains self-referential "res0, res1" etc. so that it works as it
originally did. Shows which commands it is running, and places the
commands with their result in a manner suitable for framing.
Also, a new :paste command which accepts input up to ctrl-D, so you can
enter companions without gyrations, or code from people who write in a
repl unfriendly fashion by putting their curly braces on the next line
(I'm looking at you mark harrah) or you name it, it's not picky.
No review.
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/repl-paste-2.check | 31 | ||||
-rw-r--r-- | test/files/run/repl-paste-2.scala | 28 | ||||
-rw-r--r-- | test/files/run/repl-paste.check | 13 | ||||
-rw-r--r-- | test/files/run/repl-paste.scala | 19 | ||||
-rw-r--r-- | test/files/run/repl-transcript.check | 23 | ||||
-rw-r--r-- | test/files/run/repl-transcript.scala | 20 |
6 files changed, 134 insertions, 0 deletions
diff --git a/test/files/run/repl-paste-2.check b/test/files/run/repl-paste-2.check new file mode 100644 index 0000000000..fb7a818f1a --- /dev/null +++ b/test/files/run/repl-paste-2.check @@ -0,0 +1,31 @@ +Type in expressions to have them evaluated. +Type :help for more information. + +scala> +scala> // Replaying 7 commands from transcript. + +val res0 = { 123 } +res0: Int = 123 + +val res1 = { 567 } +res1: Int = 567 + +val res2 = { res0 + res1 } +res2: Int = 690 + +val x = dingus +<console>:7: error: not found: value dingus + val x = dingus + ^ + +val x = "dingus" +x: java.lang.String = dingus + +val res3 = { x.length } +res3: Int = 6 + +val res4 = { x.length + res3 } +res4: Int = 12 + + +scala> diff --git a/test/files/run/repl-paste-2.scala b/test/files/run/repl-paste-2.scala new file mode 100644 index 0000000000..802c627701 --- /dev/null +++ b/test/files/run/repl-paste-2.scala @@ -0,0 +1,28 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + def code = """ +scala> 123 +res0: Int = 123 + +scala> 567 +res1: Int = 567 + +scala> res0 + res1 +res2: Int = 690 + +scala> val x = dingus +<console>:7: error: not found: value dingus + val x = dingus + ^ + +scala> val x = "dingus" +x: java.lang.String = dingus + +scala> x.length +res3: Int = 6 + +scala> x.length + res3 +res4: Int = 12 + """ +}
\ No newline at end of file diff --git a/test/files/run/repl-paste.check b/test/files/run/repl-paste.check new file mode 100644 index 0000000000..4c9de85e67 --- /dev/null +++ b/test/files/run/repl-paste.check @@ -0,0 +1,13 @@ +Type in expressions to have them evaluated. +Type :help for more information. + +scala> // Entering paste mode (ctrl-D to finish) + + +// Exiting paste mode, now interpreting. + +defined class Dingus +defined module Dingus +x: Int = 110 + +scala> diff --git a/test/files/run/repl-paste.scala b/test/files/run/repl-paste.scala new file mode 100644 index 0000000000..e2ebab1e45 --- /dev/null +++ b/test/files/run/repl-paste.scala @@ -0,0 +1,19 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + def code = ":paste\n" + ( + """ + class Dingus + { + private val x = 5 + def y = Dingus.x * 2 + } + object Dingus + { + private val x = 55 + } + + val x = (new Dingus).y + """ + ) +}
\ No newline at end of file diff --git a/test/files/run/repl-transcript.check b/test/files/run/repl-transcript.check new file mode 100644 index 0000000000..b2a8d2e156 --- /dev/null +++ b/test/files/run/repl-transcript.check @@ -0,0 +1,23 @@ +Type in expressions to have them evaluated. +Type :help for more information. + +scala> +scala> // Replaying 5 commands from transcript. + +class Bippity +defined class Bippity + +def f = new Bippity +f: Bippity + +val res5 = { 123 } +res5: Int = 123 + +val res6 = { 1 to 100 map (_ + 1) } +res6: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101) + +res6.sum + res5 +res0: Int = 5273 + + +scala> diff --git a/test/files/run/repl-transcript.scala b/test/files/run/repl-transcript.scala new file mode 100644 index 0000000000..b39279aea3 --- /dev/null +++ b/test/files/run/repl-transcript.scala @@ -0,0 +1,20 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + def code = """ +scala> class Bippity +defined class Bippity + +scala> def f = new Bippity +f: Bippity + +scala> 123 +res5: Int = 123 + +scala> 1 to 100 map (_ + 1) +res6: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101) + +scala> res6.sum + res5 + """ +} + |