Skip to content

Commit

Permalink
[bugfix] Fixes test loading
Browse files Browse the repository at this point in the history
This has been broken since 0.2.0, which is lame. Resolves #26 and #27.
  • Loading branch information
David Jarvis committed Mar 15, 2015
1 parent 8f15ffe commit 38bed23
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 16 deletions.
9 changes: 6 additions & 3 deletions src/ultra/hardcore.clj
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
(ns ultra.hardcore
"See what I did there?"
(:require [clojure.tools.nrepl.server]
[robert.hooke :refer [add-hook]]))
[robert.hooke :refer [add-hook]]
[ultra.test]
))

(def configured? (atom {}))

Expand Down Expand Up @@ -41,7 +43,8 @@
"Dyanmically import ultra's test namespace and configure them."
{:added "0.3.0"}
[]
`(do ~(require 'ultra.test)))
`(do ~(require 'ultra.test)
(ultra.test/activate!)))

(defmacro set-colorscheme!
"Dynamically import ultra's colorscheme namespace and configures it."
Expand Down Expand Up @@ -78,7 +81,7 @@
"Add hooks to configure tests"
{:added "0.3.1"}
[opts]
(add-hook #'clojure.test/run-tests
(add-hook #'clojure.test/try-expr
(fn [f & args]
(configure! opts)
(apply f args))))
30 changes: 17 additions & 13 deletions src/ultra/test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,18 @@
[ultra.test.diff :as diff]
[whidbey.render :as render]))


(defn generate-diffs
[a more]
(map vector
more
(map #(take 2 (data/diff a %))
more)))

(defmethod assert-expr '= [msg [_ a & more]]
(defn activate!
{:added "0.3.3"}
[]
(defmethod assert-expr '= [msg [_ a & more]]
`(let [a# ~a]
(if-let [more# (seq (list ~@more))]
(let [result# (apply = a# more#)]
Expand All @@ -27,15 +31,15 @@
result#)
(throw (Exception. "= expects more than one argument")))))

(defmethod report :fail
[{:keys [type expected actual diffs message] :as event}]
(with-test-out
(inc-report-counter :fail)
(println (str (ansi/sgr "\nFAIL" :red) " in " (testing-vars-str event)))
(when (seq *testing-contexts*) (println (testing-contexts-str)))
(when message (println message))
(if (seq diffs)
(doseq [[actual [a b]] diffs
:when (or a b)]
(diff/prn-diffs a b actual expected))
(diff/print-expected actual expected))))
(defmethod report :fail
[{:keys [type expected actual diffs message] :as event}]
(with-test-out
(inc-report-counter :fail)
(println (str (ansi/sgr "\nFAIL" :red) " in " (testing-vars-str event)))
(when (seq *testing-contexts*) (println (testing-contexts-str)))
(when message (println message))
(if (seq diffs)
(doseq [[actual [a b]] diffs
:when (or a b)]
(diff/prn-diffs a b actual expected))
(diff/print-expected actual expected)))))

0 comments on commit 38bed23

Please sign in to comment.