summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChouser <chouser@n01se.net>2010-11-08 01:23:57 -0500
committerStuart Halloway <stu@thinkrelevance.com>2010-11-29 21:00:58 -0500
commit56bde33ee946af4022be5f592d38adcddf919e8e (patch)
tree7973c6d895e0ccfcfe8a75cdaed831045ead2939
parentc69deb7444c82dda92171eb38b77227687b54359 (diff)
extra test for send from agent error
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r--test/clojure/test_clojure/agents.clj9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/clojure/test_clojure/agents.clj b/test/clojure/test_clojure/agents.clj
index b97655f8..eb380873 100644
--- a/test/clojure/test_clojure/agents.clj
+++ b/test/clojure/test_clojure/agents.clj
@@ -56,6 +56,15 @@
(is (thrown? RuntimeException (send agt inc)))))
(deftest can-send-from-error-handler-before-popping-action-that-caused-error
+ (let [target-agent (agent :before-error)
+ handler (fn [agt err]
+ (send target-agent (constantly :sent-after-error)))
+ failing-agent (agent nil :error-handler handler)]
+ (send failing-agent (fn [_] (throw (RuntimeException.))))
+ (await-for 1000 failing-agent)
+ (is (= :sent-after-error @target-agent))))
+
+(deftest can-send-to-self-from-error-handler-before-popping-action-that-caused-error
(let [handler (fn [agt err]
(send *agent* (constantly :sent-after-error)))
failing-agent (agent nil :error-handler handler)]