summaryrefslogtreecommitdiff
path: root/test/files/jvm/reactor-exceptionOnSend.scala
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2009-11-06 19:06:35 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2009-11-06 19:06:35 +0000
commit5d25e9334d6dfd492cb5312a43b3d3f36042401a (patch)
treef3740e52f6439d41a0969880aa2a7abd92115141 /test/files/jvm/reactor-exceptionOnSend.scala
parentd42f62bbd76df85ed57162118a8c720f50bbd5c5 (diff)
downloadscala-5d25e9334d6dfd492cb5312a43b3d3f36042401a.tar.gz
scala-5d25e9334d6dfd492cb5312a43b3d3f36042401a.tar.bz2
scala-5d25e9334d6dfd492cb5312a43b3d3f36042401a.zip
Moved disabled tests back into their original p...
Moved disabled tests back into their original place. Expect 7 tests to fail.
Diffstat (limited to 'test/files/jvm/reactor-exceptionOnSend.scala')
-rw-r--r--test/files/jvm/reactor-exceptionOnSend.scala44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/files/jvm/reactor-exceptionOnSend.scala b/test/files/jvm/reactor-exceptionOnSend.scala
new file mode 100644
index 0000000000..3684943b9b
--- /dev/null
+++ b/test/files/jvm/reactor-exceptionOnSend.scala
@@ -0,0 +1,44 @@
+import scala.actors.Reactor
+import scala.actors.Actor._
+
+case class MyException(text: String) extends Exception(text)
+
+object A extends Reactor {
+ override def exceptionHandler = {
+ case MyException(text) =>
+ println("receiver handles exception")
+ }
+
+ def guard(): Boolean =
+ if (state == 0) {
+ state = 1
+ throw MyException("illegal state")
+ } else
+ true
+
+ var state = 0
+
+ def act() {
+ loop {
+ react {
+ case 'hello if guard() =>
+ println("process")
+ exit()
+ }
+ }
+ }
+}
+
+object B extends Reactor {
+ def act() {
+ A.start()
+ A ! 'hello
+ A ! 'hello
+ }
+}
+
+object Test {
+ def main(args: Array[String]) {
+ B.start()
+ }
+}