mirror of
https://github.com/status-im/reagent.git
synced 2025-01-27 20:26:39 +00:00
b7304d0f3f
This removes the interop macros which used aget/aset and prevented Closure naming mangling, now normal property and method access is used where possible, and goog.object used when using variable keys. Further testing is needed to ensure this works correctly with Closure, as there are some properties that are used with goog.object in one place, and as property in another. Fixes #324
59 lines
1.7 KiB
Clojure
59 lines
1.7 KiB
Clojure
(ns reagenttest.runtests
|
|
(:require [reagenttest.testreagent]
|
|
[reagenttest.testcursor]
|
|
[reagenttest.testratom]
|
|
[reagenttest.testratomasync]
|
|
[reagenttest.testtrack]
|
|
[reagenttest.testwithlet]
|
|
[reagenttest.testwrap]
|
|
[cljs.test :as test]
|
|
[doo.runner :as doo :include-macros true]
|
|
[reagent.core :as r]
|
|
[reagent.debug :refer [dbg log]]))
|
|
|
|
(enable-console-print!)
|
|
|
|
(def test-results (r/atom nil))
|
|
|
|
(def test-box-style {:position 'absolute
|
|
:margin-left -35
|
|
:color :#aaa})
|
|
|
|
(defn all-tests []
|
|
#_(test/run-tests 'reagenttest.testratomasync)
|
|
(test/run-all-tests #"reagenttest.test.*"))
|
|
|
|
(defmethod test/report [::test/default :summary] [m]
|
|
;; ClojureScript 2814 doesn't return anything from run-tests
|
|
(reset! test-results m)
|
|
(println "\nRan" (:test m) "tests containing"
|
|
(+ (:pass m) (:fail m) (:error m)) "assertions.")
|
|
(println (:fail m) "failures," (:error m) "errors."))
|
|
|
|
(defn run-tests []
|
|
(reset! test-results nil)
|
|
(if r/is-client
|
|
(js/setTimeout all-tests 100)
|
|
(all-tests)))
|
|
|
|
(defn test-output-mini []
|
|
(let [res @test-results]
|
|
[:div {:style test-box-style
|
|
:on-click run-tests}
|
|
(if res
|
|
(if (zero? (+ (:fail res) (:error res)))
|
|
"All tests ok"
|
|
[:span "Test failure: "
|
|
(:fail res) " failures, " (:error res) " errors."])
|
|
"testing")]))
|
|
|
|
(defn init! []
|
|
;; This function is only used when running tests from the demo app.
|
|
;; Which is why exit-point is set manually.
|
|
(when (some? (test/deftest empty-test))
|
|
(doo/set-exit-point! (fn [success?] nil))
|
|
(run-tests)
|
|
[#'test-output-mini]))
|
|
|
|
(doo/doo-all-tests #"reagenttest.test.*")
|