diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-10 12:13:53 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-10 12:13:53 -0800 |
commit | 4fb23290035a54e34836ac7459afbc384292d7fa (patch) | |
tree | 370172bb130563e78ec15a07d04dc6c936078df3 /test/files/run | |
parent | 5616005c831dabd80900a736d1479d17a906f27b (diff) | |
parent | 90c87fc266ec45e8970f6ea0f00d375b63afd35d (diff) | |
download | scala-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.check | 32 | ||||
-rw-r--r-- | test/files/run/t6549.scala | 22 |
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 +} |