             :fail (merge (file-and-line (js/Error.) 1) m)
             :error (merge (file-and-line (:actual m) 0) m)
             m)]
-   (-do-report (:reporter env) env m)))
+   (report env m)))
 
 (defn empty-env
-  ([] (empty-env (default-reporter)))
+  ([] (empty-env ::default))
   ([reporter]
    {:report-counters {:test 0 :pass 0 :fail 0 :error 0}
     :testing-vars ()

  cljs.test
  (:require-macros
   [clojure.template :as temp]))

;; =============================================================================
;; Protocols

(defprotocol ITestReporter
  (-do-report [_ env m]))

;; =============================================================================
;; Default Reporting

   'is' call 'report' to indicate results.  The argument given to
   'report' will be a map with a :type key."
     :dynamic true}
  report (fn [env m] [(:reporter env) (:type m)]))

(defmethod report :default [env m]
  (prn m))

(defmethod report [::default :pass] [env m]
  (inc-report-counter env :pass))

(defmethod report [::default :fail] [env m]
  (println "\nFAIL in" (testing-vars-str env m))
  (when (seq (:testing-contexts env))
    (println (testing-contexts-str env)))
