aboutsummaryrefslogtreecommitdiff
path: root/tests/run/t5733.scala
diff options
context:
space:
mode:
authorNicolas Stucki <nicolas.stucki@gmail.com>2016-08-26 11:20:56 +0200
committerNicolas Stucki <nicolas.stucki@gmail.com>2016-09-05 13:47:52 +0200
commitf001eef2213bc5b1affde992aae7780c15d5fd44 (patch)
treed1ca2f6c9b632aa228f1383c7f7c306746b59daf /tests/run/t5733.scala
parent390a44cdd0b3f43df0969368f62314d78a25c699 (diff)
downloaddotty-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.scala53
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" )
+ }
+}