aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-23 23:30:22 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-23 23:30:22 +0100
commitd193065827c40002de1e56c316eb026907536c17 (patch)
tree258edc000ec085e3888d04a812440200badc4718 /src/test
parent7253b5e7a62e0e255a3fece591b7b5991a24d3a9 (diff)
downloadscala-async-d193065827c40002de1e56c316eb026907536c17.tar.gz
scala-async-d193065827c40002de1e56c316eb026907536c17.tar.bz2
scala-async-d193065827c40002de1e56c316eb026907536c17.zip
Explicitly prohibit await in nested methods.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/scala/async/TreeInterrogation.scala3
-rw-r--r--src/test/scala/scala/async/neg/NakedAwait.scala10
2 files changed, 11 insertions, 2 deletions
diff --git a/src/test/scala/scala/async/TreeInterrogation.scala b/src/test/scala/scala/async/TreeInterrogation.scala
index 1212045..08d2c78 100644
--- a/src/test/scala/scala/async/TreeInterrogation.scala
+++ b/src/test/scala/scala/async/TreeInterrogation.scala
@@ -35,8 +35,7 @@ class TreeInterrogation {
varDefs.map(_.decoded).toSet mustBe(Set("state$async", "onCompleteHandler$async", "await$1", "await$2"))
}
-
- //@Test
+ @Test
def sandbox() {
sys.props("scala.async.debug") = "true"
val cm = reflect.runtime.currentMirror
diff --git a/src/test/scala/scala/async/neg/NakedAwait.scala b/src/test/scala/scala/async/neg/NakedAwait.scala
index a0c4e4d..61490e2 100644
--- a/src/test/scala/scala/async/neg/NakedAwait.scala
+++ b/src/test/scala/scala/async/neg/NakedAwait.scala
@@ -117,4 +117,14 @@ class NakedAwait {
""".stripMargin
}
}
+
+ @Test
+ def nestedMethod() {
+ expectError("await must not be used under a nested method.") {
+ """
+ | import _root_.scala.async.AsyncId._
+ | async { def foo = await(false) }
+ """.stripMargin
+ }
+ }
}