diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-05 17:54:47 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-05 17:54:47 -0800 |
commit | 9547753a80fab450c842cb4a9a8296aa41875ff3 (patch) | |
tree | 637acdd45dbf93ba87ae6cb67d4237da652ac8c1 /test/files/run/t5733.scala | |
parent | 4b2330b3d3db4263a8b1e19b792596dd60d79045 (diff) | |
parent | c42c1742e26dc47f940e4003e4ca25e8c738796d (diff) | |
download | scala-9547753a80fab450c842cb4a9a8296aa41875ff3.tar.gz scala-9547753a80fab450c842cb4a9a8296aa41875ff3.tar.bz2 scala-9547753a80fab450c842cb4a9a8296aa41875ff3.zip |
Merge pull request #1716 from paulp/merge-2.10
Merged 2.10.0/x into master.
Diffstat (limited to 'test/files/run/t5733.scala')
-rw-r--r-- | test/files/run/t5733.scala | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/files/run/t5733.scala b/test/files/run/t5733.scala new file mode 100644 index 0000000000..360264e4ed --- /dev/null +++ b/test/files/run/t5733.scala @@ -0,0 +1,53 @@ +import scala.language.dynamics + +object A extends Dynamic { + var a = "a" + + def selectDynamic(method:String): String = a + + def updateDynamic(method:String)(v:String) { a = v } +} + +class B extends Dynamic { + var b = "b" + + def selectDynamic(method:String): String = b + + def updateDynamic(method:String)(v:String) { b = v } +} + +object Test extends App { + assert( A.foo == "a" ) + assert( A.bar == "a" ) + A.aaa = "aaa" + assert( A.bar == "aaa" ) + + val b = new B + assert( b.foo == "b" ) + assert( b.bar == "b" ) + b.bbb = "bbb" + assert( b.bar == "bbb" ) + + { + println("Running ABTest asserts") + A.a = "a" + (new ABTest).test() + } + + println("Done") +} + +class ABTest { + def test() { + assert( A.foo == "a" ) + assert( A.bar == "a" ) + A.aaa = "aaa" + assert( A.bar == "aaa" ) + + val b = new B + assert( b.foo == "b" ) + assert( b.bar == "b" ) + b.bbb = "bbb" + assert( b.bar == "bbb" ) + } +} |