diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-26 18:58:03 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-27 08:36:31 +0100 |
commit | 38c362b45fa3f5ae006ebdebaaf163c701313967 (patch) | |
tree | 63c7040e653813a08855fc79ceb64b7052ef63db /src/test/scala/scala/async | |
parent | 9ad8783d39848d2c5dc5a2a73ac8d54c2859dd0e (diff) | |
download | scala-async-38c362b45fa3f5ae006ebdebaaf163c701313967.tar.gz scala-async-38c362b45fa3f5ae006ebdebaaf163c701313967.tar.bz2 scala-async-38c362b45fa3f5ae006ebdebaaf163c701313967.zip |
Test cases for named and default args.
Diffstat (limited to 'src/test/scala/scala/async')
-rw-r--r-- | src/test/scala/scala/async/run/anf/AnfTransformSpec.scala | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala b/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala index f274068..529386b 100644 --- a/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala +++ b/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala @@ -223,7 +223,8 @@ class AnfTransformSpec { val result = async { var i = 0 def next() = { - i += 1; i + i += 1; + i } foo(next(), await(next())) } @@ -255,4 +256,37 @@ class AnfTransformSpec { """.stripMargin } } + + @Test + def namedArgumentsRespectEvaluationOrder() { + import scala.async.AsyncId.{async, await} + def foo(a: Int, b: Int) = (a, b) + val result = async { + var i = 0 + def next() = { + i += 1; + i + } + foo(b = next(), a = await(next())) + } + result mustBe ((2, 1)) + } + + @Test + def namedAndDefaultArgumentsRespectEvaluationOrder() { + import scala.async.AsyncId.{async, await} + var i = 0 + def next() = { + i += 1; + i + } + def foo(a: Int = next(), b: Int = next()) = (a, b) + async { + foo(b = await(next())) + } mustBe ((2, 1)) + i = 0 + async { + foo(a = await(next())) + } mustBe ((1, 2)) + } } |