diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 23:30:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 23:30:22 +0100 |
commit | d193065827c40002de1e56c316eb026907536c17 (patch) | |
tree | 258edc000ec085e3888d04a812440200badc4718 /src/test | |
parent | 7253b5e7a62e0e255a3fece591b7b5991a24d3a9 (diff) | |
download | scala-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.scala | 3 | ||||
-rw-r--r-- | src/test/scala/scala/async/neg/NakedAwait.scala | 10 |
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 + } + } } |