From eecfea5c5ef5d026a74bb41e51e31c73c689af1b Mon Sep 17 00:00:00 2001 From: Derek Williams Date: Sat, 23 Apr 2011 07:42:30 -0600 Subject: [PATCH] Add additional test to make sure Future.flow does not block on long running Futures --- .../test/scala/akka/dispatch/FutureSpec.scala | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala index 34edbb653f..a7c0590161 100644 --- a/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala @@ -440,4 +440,24 @@ class FutureSpec extends JUnitSuite { assert(lz.isOpen) assert(result.get === 10) } + + @Test def futureContinuationsShouldNotBlock { + import Future.flow + + val latch = new StandardLatch + val future = Future { + latch.await + "Hello" + } + + val result = flow { + Some(future()).filter(_ == "Hello") + } + + assert(!result.isCompleted) + + latch.open + + assert(result.get === Some("Hello")) + } }