aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/run/t6333.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pending/run/t6333.scala')
-rw-r--r--tests/pending/run/t6333.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/pending/run/t6333.scala b/tests/pending/run/t6333.scala
new file mode 100644
index 000000000..266d95ce6
--- /dev/null
+++ b/tests/pending/run/t6333.scala
@@ -0,0 +1,29 @@
+object Test extends App {
+ import util.Try
+
+ val a = "apple"
+ def fail: String = throw new Exception("Fail!")
+ def argh: Try[String] = throw new Exception("Argh!")
+
+ // No throw tests
+ def tryMethods(expr: => String): Unit = {
+ Try(expr) orElse argh
+ Try(expr).transform(_ => argh, _ => argh)
+ Try(expr).recoverWith { case e if (a == fail) => Try(a) }
+ Try(expr).recoverWith { case _ => argh }
+ Try(expr).getOrElse(a)
+ // TODO - Fail getOrElse?
+ Try(expr) orElse argh
+ Try(expr) orElse Try(a)
+ Try(expr) map (_ => fail)
+ Try(expr) map (_ => a)
+ Try(expr) flatMap (_ => argh)
+ Try(expr) flatMap (_ => Try(a))
+ Try(expr) filter (_ => throw new Exception("O NOES"))
+ Try(expr) filter (_ => true)
+ Try(expr) recover { case _ => fail }
+ Try(expr).failed
+ }
+ tryMethods(a)
+ tryMethods(fail)
+}