diff options
author | Viktor Klang <viktor.klang@gmail.com> | 2016-03-22 10:31:32 +0100 |
---|---|---|
committer | Viktor Klang <viktor.klang@gmail.com> | 2016-03-22 13:37:34 +0100 |
commit | d832346268779090f08afad649a337ca571efc37 (patch) | |
tree | e2310e55ad59e658256b96a04c7d9f7e77ffbaa7 /test | |
parent | afb14588edeb199ad5b6b2deedb55abe3c998503 (diff) | |
download | scala-d832346268779090f08afad649a337ca571efc37.tar.gz scala-d832346268779090f08afad649a337ca571efc37.tar.bz2 scala-d832346268779090f08afad649a337ca571efc37.zip |
SI-9488 - adds the same default toString format to Scala Futures as 2.12.x
Includes tests to verify the toString representations.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/jvm/future-spec/FutureTests.scala | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/files/jvm/future-spec/FutureTests.scala b/test/files/jvm/future-spec/FutureTests.scala index a290af9cd3..efe9c59d7a 100644 --- a/test/files/jvm/future-spec/FutureTests.scala +++ b/test/files/jvm/future-spec/FutureTests.scala @@ -24,7 +24,7 @@ class FutureTests extends MinimalScalaTest { "A future with custom ExecutionContext" should { "shouldHandleThrowables" in { val ms = new mutable.HashSet[Throwable] with mutable.SynchronizedSet[Throwable] - implicit val ec = scala.concurrent.ExecutionContext.fromExecutor(new scala.concurrent.forkjoin.ForkJoinPool(), { + implicit val ec = scala.concurrent.ExecutionContext.fromExecutorService(new scala.concurrent.forkjoin.ForkJoinPool(), { t => ms += t }) @@ -64,7 +64,7 @@ class FutureTests extends MinimalScalaTest { Await.ready(waiting, 2000 millis) ms.size mustBe (4) - //FIXME should check + ec.shutdownNow() } } @@ -543,6 +543,22 @@ class FutureTests extends MinimalScalaTest { Await.ready(f, defaultTimeout).value.get.toString mustBe expected.toString } + "should have a decent toString representation" in { + val i = scala.concurrent.forkjoin.ThreadLocalRandom.current.nextInt() + val e = new Exception(i.toString) + val successString = "Future(Success("+i+"))" + val failureString = "Future(Failure("+e+"))" + val notCompletedString = "Future(<not completed>)" + + Future.successful(i).toString mustBe successString + Future.failed[Int](e).toString mustBe failureString + Promise[Int]().toString mustBe notCompletedString + Promise[Int]().success(i).toString mustBe successString + Promise[Int]().failure(e).toString mustBe failureString + Await.ready(Future(i)(ExecutionContext.global), defaultTimeout).toString mustBe successString + Await.ready(Future(throw e)(ExecutionContext.global), defaultTimeout).toString mustBe failureString + } + } } |