summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-12-10 12:13:53 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-12-10 12:13:53 -0800
commit4fb23290035a54e34836ac7459afbc384292d7fa (patch)
tree370172bb130563e78ec15a07d04dc6c936078df3 /test/files/run
parent5616005c831dabd80900a736d1479d17a906f27b (diff)
parent90c87fc266ec45e8970f6ea0f00d375b63afd35d (diff)
downloadscala-4fb23290035a54e34836ac7459afbc384292d7fa.tar.gz
scala-4fb23290035a54e34836ac7459afbc384292d7fa.tar.bz2
scala-4fb23290035a54e34836ac7459afbc384292d7fa.zip
Merge pull request #1699 from retronym/ticket/6549
SI-6549 Improve escaping in REPL codegen.
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t6549.check32
-rw-r--r--test/files/run/t6549.scala22
2 files changed, 54 insertions, 0 deletions
diff --git a/test/files/run/t6549.check b/test/files/run/t6549.check
new file mode 100644
index 0000000000..bc78aac741
--- /dev/null
+++ b/test/files/run/t6549.check
@@ -0,0 +1,32 @@
+Type in expressions to have them evaluated.
+Type :help for more information.
+
+scala>
+
+scala> case class `X"`(var xxx: Any)
+defined class X$u0022
+
+scala> val m = Map(("": Any) -> `X"`("\""), ('s: Any) -> `X"`("\""))
+m: scala.collection.immutable.Map[Any,X"] = Map("" -> X"("), 's -> X"("))
+
+scala> m("")
+res0: X" = X"(")
+
+scala> m("").xxx
+res1: Any = "
+
+scala> m("").xxx = 0
+m("").xxx: Any = 0
+
+scala> m("").xxx = "\""
+m("").xxx: Any = "
+
+scala> m('s).xxx = 's
+m(scala.Symbol("s")).xxx: Any = 's
+
+scala> val `"` = 0
+": Int = 0
+
+scala>
+
+scala>
diff --git a/test/files/run/t6549.scala b/test/files/run/t6549.scala
new file mode 100644
index 0000000000..7335661dc7
--- /dev/null
+++ b/test/files/run/t6549.scala
@@ -0,0 +1,22 @@
+import scala.tools.partest.ReplTest
+
+// Check that the fragments of code generated in
+// in the REPL correctly escape values added to
+// literal strings.
+//
+// Before, we saw:
+// scala> m("").x = 77
+// <console>:10: error: ')' expected but string literal found.
+// + "m("").x: Int = " + `$ires8` + "\n"
+object Test extends ReplTest {
+ def code = """
+ |case class `X"`(var xxx: Any)
+ |val m = Map(("": Any) -> `X"`("\""), ('s: Any) -> `X"`("\""))
+ |m("")
+ |m("").xxx
+ |m("").xxx = 0
+ |m("").xxx = "\""
+ |m('s).xxx = 's
+ |val `"` = 0
+ """.stripMargin
+}