diff options
author | Paul Phillips <paulp@improving.org> | 2012-11-28 18:36:47 +0100 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-11-29 09:39:21 +0100 |
commit | a6941944bf80f660722e9151801776715c3e4ab5 (patch) | |
tree | ef0bec6d22cc02af500cc1b88bfd5fd8ded86d22 /test/files/pos | |
parent | dac1488a889ff5952ff85e87ec4acd7d72a74891 (diff) | |
download | scala-a6941944bf80f660722e9151801776715c3e4ab5.tar.gz scala-a6941944bf80f660722e9151801776715c3e4ab5.tar.bz2 scala-a6941944bf80f660722e9151801776715c3e4ab5.zip |
Test cases for SI-5726, SI-5733, SI-6320, SI-6551, SI-6722.
All tickets involving selectDynamic fixed by the prior commit.
It also fixes SI-6663, but that already has a test case.
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/t5726.scala | 17 | ||||
-rw-r--r-- | test/files/pos/t6551.scala | 2 | ||||
-rw-r--r-- | test/files/pos/t6722.scala | 11 |
3 files changed, 29 insertions, 1 deletions
diff --git a/test/files/pos/t5726.scala b/test/files/pos/t5726.scala new file mode 100644 index 0000000000..b28ebd8674 --- /dev/null +++ b/test/files/pos/t5726.scala @@ -0,0 +1,17 @@ +import scala.language.dynamics + +class DynamicTest extends Dynamic { + def selectDynamic(name: String) = s"value of $name" + def updateDynamic(name: String)(value: Any) { + println(s"You have just updated property '$name' with value: $value") + } +} + +object MyApp extends App { + def testing() { + val test = new DynamicTest + test.firstName = "John" + } + + testing() +} diff --git a/test/files/pos/t6551.scala b/test/files/pos/t6551.scala index fb68663809..8bb396a19f 100644 --- a/test/files/pos/t6551.scala +++ b/test/files/pos/t6551.scala @@ -1,4 +1,4 @@ -import language.dynamics +import scala.language.dynamics object Test { def main(args: Array[String]) { diff --git a/test/files/pos/t6722.scala b/test/files/pos/t6722.scala new file mode 100644 index 0000000000..576746c915 --- /dev/null +++ b/test/files/pos/t6722.scala @@ -0,0 +1,11 @@ +import scala.language.dynamics + +class Dyn extends Dynamic { + def selectDynamic(s: String): Dyn = new Dyn + def get[T]: T = null.asInstanceOf[T] +} + +object Foo { + val dyn = new Dyn + dyn.foo.bar.baz.get[String] +} |