cljs.test/test-vars-block
function | since v0.0-2814 | Edit |
(test-vars-block vars)
Source docstring:
Like test-vars, but returns a block for further composition and
later execution.
(defn test-vars-block
[vars]
(map
(fn [[ns vars]]
(fn []
(block
(let [env (get-current-env)
once-fixtures (get-in env [:once-fixtures ns])
each-fixtures (get-in env [:each-fixtures ns])]
(case (execution-strategy once-fixtures each-fixtures)
:async
(->> vars
(filter (comp :test meta))
(mapcat (comp (partial wrap-map-fixtures each-fixtures)
test-var-block))
(wrap-map-fixtures once-fixtures))
:sync
(let [each-fixture-fn (join-fixtures each-fixtures)]
[(fn []
((join-fixtures once-fixtures)
(fn []
(doseq [v vars]
(when-let [t (:test (meta v))]
(each-fixture-fn
(fn []
(run-block
(test-var-block* v (disable-async t))))))))))]))))))
(group-by (comp :ns meta) vars)))