diff options
author | Philipp Haller <hallerp@gmail.com> | 2014-07-18 16:04:34 +0200 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2014-07-18 16:04:34 +0200 |
commit | 75ef24db7c9de170681d28a48f3e3ec2a47f7292 (patch) | |
tree | 12ebbc5e015a952aba61fadb001f80c6810e1875 /src/test | |
parent | 37ef2a7aa55b72dfea98c3ac640d84e785ca778d (diff) | |
parent | 9d1246d799419a8e7d96302c5787ce252e86b68d (diff) | |
download | scala-async-75ef24db7c9de170681d28a48f3e3ec2a47f7292.tar.gz scala-async-75ef24db7c9de170681d28a48f3e3ec2a47f7292.tar.bz2 scala-async-75ef24db7c9de170681d28a48f3e3ec2a47f7292.zip |
Merge pull request #82 from retronym/topic/live-variable-speedup
Fix asymptotic performance issues in live variables analysis.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/scala/scala/async/run/ifelse1/IfElse1.scala | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/run/ifelse1/IfElse1.scala b/src/test/scala/scala/async/run/ifelse1/IfElse1.scala index 587aaac..6cbe910 100644 --- a/src/test/scala/scala/async/run/ifelse1/IfElse1.scala +++ b/src/test/scala/scala/async/run/ifelse1/IfElse1.scala @@ -87,6 +87,75 @@ class TestIfElse1Class { } z } + + def pred: Future[Boolean] = async(true) + + def m5: Future[Boolean] = async { + if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(if(await(pred)) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false) + await(pred) + else + false + } } class IfElse1Spec { @@ -124,4 +193,12 @@ class IfElse1Spec { val res = Await.result(fut, 2 seconds) res mustBe (14) } + + @Test + def `await in deeply-nested if-else conditions`() { + val o = new TestIfElse1Class + val fut = o.m5 + val res = Await.result(fut, 2 seconds) + res mustBe true + } } |