aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_is/tests.clj
diff options
context:
space:
mode:
authorStuart Sierra <mail@stuartsierra.com>2009-04-27 02:50:04 +0000
committerStuart Sierra <mail@stuartsierra.com>2009-04-27 02:50:04 +0000
commitbb7152c94b67891dd4e28e209faca5326bd980e5 (patch)
tree13860364a0a36c09113df3dbdf42eae911367689 /src/clojure/contrib/test_is/tests.clj
parent2fcbab33cb2e616911470941f6a29ce74d75e037 (diff)
test_is.clj: Replaced 'report' with a more flexible multimethod.
This should make it easier to write other reporting formats, such as JUnit. Also updated test_is/tests.clj and test_is/tap.clj
Diffstat (limited to 'src/clojure/contrib/test_is/tests.clj')
-rw-r--r--src/clojure/contrib/test_is/tests.clj21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/clojure/contrib/test_is/tests.clj b/src/clojure/contrib/test_is/tests.clj
index 6687ad12..60fee95e 100644
--- a/src/clojure/contrib/test_is/tests.clj
+++ b/src/clojure/contrib/test_is/tests.clj
@@ -89,12 +89,21 @@
(declare original-report)
-(defn custom-report [event msg expected actual]
- (if (or (and (= event :fail) (= msg "Should fail"))
- (and (= event :pass) (= msg "Should pass"))
- (and (= event :error) (= msg "Should error")))
- (original-report :pass msg expected actual)
- (original-report :fail (str msg " but got " event) expected actual)))
+(defn custom-report [data]
+ (let [event (:type data)
+ msg (:message data)
+ expected (:expected data)
+ actual (:actual data)
+ passed (cond
+ (= event :fail) (= msg "Should fail")
+ (= event :pass) (= msg "Should pass")
+ (= event :error) (= msg "Should error")
+ :else true)]
+ (if passed
+ (original-report {:type :pass, :message msg,
+ :expected expected, :actual actual})
+ (original-report {:type :fail, :message (str msg " but got " event)
+ :expected expected, :actual actual}))))
;; test-ns-hook will be used by test-is/test-ns to run tests in this
;; namespace.