diff options
author | Nicolas Stucki <nicolas.stucki@gmail.com> | 2016-08-26 11:20:56 +0200 |
---|---|---|
committer | Nicolas Stucki <nicolas.stucki@gmail.com> | 2016-09-05 13:47:52 +0200 |
commit | f001eef2213bc5b1affde992aae7780c15d5fd44 (patch) | |
tree | d1ca2f6c9b632aa228f1383c7f7c306746b59daf /tests/run/t5733.scala | |
parent | 390a44cdd0b3f43df0969368f62314d78a25c699 (diff) | |
download | dotty-f001eef2213bc5b1affde992aae7780c15d5fd44.tar.gz dotty-f001eef2213bc5b1affde992aae7780c15d5fd44.tar.bz2 dotty-f001eef2213bc5b1affde992aae7780c15d5fd44.zip |
Enable scala.Dynamic pending/untried tests.
Diffstat (limited to 'tests/run/t5733.scala')
-rw-r--r-- | tests/run/t5733.scala | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/run/t5733.scala b/tests/run/t5733.scala new file mode 100644 index 000000000..a9e58d77e --- /dev/null +++ b/tests/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): Unit = { a = v } +} + +class B extends Dynamic { + var b = "b" + + def selectDynamic(method:String): String = b + + def updateDynamic(method:String)(v:String): Unit = { b = v } +} + +object Test extends dotty.runtime.LegacyApp { + 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(): Unit = { + 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" ) + } +} |