summaryrefslogtreecommitdiff
path: root/test/files/jvm
diff options
context:
space:
mode:
authorphaller <hallerp@gmail.com>2012-05-17 00:20:45 +0200
committerphaller <hallerp@gmail.com>2012-05-17 00:20:45 +0200
commit2a36246342c17044bf5aafbf71fe1f2147ffe60a (patch)
tree68ae9d33231ffc7d3699e9ac51d6c2a759bc73c8 /test/files/jvm
parent9fe251e16b93d4bdc8a496f3edce90ef2e207ee8 (diff)
downloadscala-2a36246342c17044bf5aafbf71fe1f2147ffe60a.tar.gz
scala-2a36246342c17044bf5aafbf71fe1f2147ffe60a.tar.bz2
scala-2a36246342c17044bf5aafbf71fe1f2147ffe60a.zip
SIP-14: clean ups and fixes
Diffstat (limited to 'test/files/jvm')
-rw-r--r--test/files/jvm/future-spec/FutureTests.scala2
-rw-r--r--test/files/jvm/future-spec/PromiseTests.scala2
-rw-r--r--test/files/jvm/scala-concurrent-tck.scala96
3 files changed, 88 insertions, 12 deletions
diff --git a/test/files/jvm/future-spec/FutureTests.scala b/test/files/jvm/future-spec/FutureTests.scala
index 9a9cf951bb..e5e01a5954 100644
--- a/test/files/jvm/future-spec/FutureTests.scala
+++ b/test/files/jvm/future-spec/FutureTests.scala
@@ -19,7 +19,7 @@ object FutureTests extends MinimalScalaTest {
case "NoReply" => Promise[String]().future
}
- val defaultTimeout = Inf
+ val defaultTimeout = 5 seconds
/* future specification */
diff --git a/test/files/jvm/future-spec/PromiseTests.scala b/test/files/jvm/future-spec/PromiseTests.scala
index 6016746a23..bf9d9b39d7 100644
--- a/test/files/jvm/future-spec/PromiseTests.scala
+++ b/test/files/jvm/future-spec/PromiseTests.scala
@@ -133,7 +133,7 @@ object PromiseTests extends MinimalScalaTest {
(future, result) =>
intercept[NoSuchElementException] {
Await.result(future.failed, defaultTimeout)
- }.getMessage mustBe ("Future.failed not completed with a throwable. Instead completed with: " + result)
+ }.getMessage mustBe ("Future.failed not completed with a throwable.")
}
}
diff --git a/test/files/jvm/scala-concurrent-tck.scala b/test/files/jvm/scala-concurrent-tck.scala
index fce1a25bb6..86655ad89c 100644
--- a/test/files/jvm/scala-concurrent-tck.scala
+++ b/test/files/jvm/scala-concurrent-tck.scala
@@ -182,6 +182,72 @@ trait FutureCombinators extends TestBase {
}
}
+ def testMapSuccessPF(): Unit = once {
+ done =>
+ val f = future { 5 }
+ val g = f map { case r => "result: " + r }
+ g onSuccess {
+ case s =>
+ done()
+ assert(s == "result: 5")
+ }
+ g onFailure {
+ case _ =>
+ done()
+ assert(false)
+ }
+ }
+
+ def testTransformSuccess(): Unit = once {
+ done =>
+ val f = future { 5 }
+ val g = f.transform(r => "result: " + r, identity)
+ g onSuccess {
+ case s =>
+ done()
+ assert(s == "result: 5")
+ }
+ g onFailure {
+ case _ =>
+ done()
+ assert(false)
+ }
+ }
+
+ def testTransformSuccessPF(): Unit = once {
+ done =>
+ val f = future { 5 }
+ val g = f.transform( { case r => "result: " + r }, identity)
+ g onSuccess {
+ case s =>
+ done()
+ assert(s == "result: 5")
+ }
+ g onFailure {
+ case _ =>
+ done()
+ assert(false)
+ }
+ }
+
+ def testFoldFailure(): Unit = once {
+ done =>
+ val f = future {
+ throw new Exception("exception message")
+ }
+ val g = f.transform(r => "result: " + r, identity)
+ g onSuccess {
+ case _ =>
+ done()
+ assert(false)
+ }
+ g onFailure {
+ case t =>
+ done()
+ assert(t.getMessage() == "exception message")
+ }
+ }
+
def testFlatMapSuccess(): Unit = once {
done =>
val f = future { 5 }
@@ -340,14 +406,17 @@ trait FutureCombinators extends TestBase {
} recover {
case re: RuntimeException =>
"recovered"
- } onSuccess {
+ }
+ f onSuccess {
case x =>
done()
assert(x == "recovered")
- } onFailure { case any =>
+ }
+ f onFailure { case any =>
done()
assert(false)
}
+ f
}
def testRecoverFailure(): Unit = once {
@@ -357,11 +426,13 @@ trait FutureCombinators extends TestBase {
throw cause
} recover {
case te: TimeoutException => "timeout"
- } onSuccess {
+ }
+ f onSuccess {
case x =>
done()
assert(false)
- } onFailure { case any =>
+ }
+ f onFailure { case any =>
done()
assert(any == cause)
}
@@ -375,11 +446,13 @@ trait FutureCombinators extends TestBase {
} recoverWith {
case re: RuntimeException =>
future { "recovered" }
- } onSuccess {
+ }
+ f onSuccess {
case x =>
done()
assert(x == "recovered")
- } onFailure { case any =>
+ }
+ f onFailure { case any =>
done()
assert(false)
}
@@ -393,11 +466,13 @@ trait FutureCombinators extends TestBase {
} recoverWith {
case te: TimeoutException =>
future { "timeout" }
- } onSuccess {
+ }
+ f onSuccess {
case x =>
done()
assert(false)
- } onFailure { case any =>
+ }
+ f onFailure { case any =>
done()
assert(any == cause)
}
@@ -635,11 +710,12 @@ trait Promises extends TestBase {
val p = promise[Int]()
val f = p.future
- f.onSuccess {
+ f onSuccess {
case x =>
done()
assert(x == 5)
- } onFailure {
+ }
+ f onFailure {
case any =>
done()
assert(false)