aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/run/SyncOptimizationSpec.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-12-18 14:41:49 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-12-18 14:41:49 +1000
commitc44d2ca0c7e24c98eaaa3c1b5023cfd7cc877ae9 (patch)
treebd93c44095e6232abc3ad9af2804892025aa5467 /src/test/scala/scala/async/run/SyncOptimizationSpec.scala
parent49514746c007da44a57f17730e3f6f353456d37c (diff)
parent697f584f8d7c656111344a0e16c1924feec6896b (diff)
downloadscala-async-c44d2ca0c7e24c98eaaa3c1b5023cfd7cc877ae9.tar.gz
scala-async-c44d2ca0c7e24c98eaaa3c1b5023cfd7cc877ae9.tar.bz2
scala-async-c44d2ca0c7e24c98eaaa3c1b5023cfd7cc877ae9.zip
Merge pull request #99 from retronym/merge/2.10.x-to-master-20141219
Merge/2.10.x to master 20141219
Diffstat (limited to 'src/test/scala/scala/async/run/SyncOptimizationSpec.scala')
-rw-r--r--src/test/scala/scala/async/run/SyncOptimizationSpec.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/run/SyncOptimizationSpec.scala b/src/test/scala/scala/async/run/SyncOptimizationSpec.scala
new file mode 100644
index 0000000..dd649f4
--- /dev/null
+++ b/src/test/scala/scala/async/run/SyncOptimizationSpec.scala
@@ -0,0 +1,28 @@
+package scala.async.run
+
+import org.junit.Test
+import scala.async.Async._
+import scala.concurrent._
+import scala.concurrent.duration._
+import ExecutionContext.Implicits._
+
+class SyncOptimizationSpec {
+ @Test
+ def awaitOnCompletedFutureRunsOnSameThread: Unit = {
+
+ def stackDepth = Thread.currentThread().getStackTrace.size
+
+ val future = async {
+ val thread1 = Thread.currentThread
+ val stackDepth1 = stackDepth
+
+ val f = await(Future.successful(1))
+ val thread2 = Thread.currentThread
+ val stackDepth2 = stackDepth
+ assert(thread1 == thread2)
+ assert(stackDepth1 == stackDepth2)
+ }
+ Await.result(future, 10.seconds)
+ }
+
+}