We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 6c7a168 + 5e2a645 commit cc27390Copy full SHA for cc27390
2 files changed
src/main/cljs/cljs/test.cljc
@@ -239,11 +239,17 @@
239
240
When cljs.analyzer/*load-tests* is false, deftest is ignored."
241
[name & body]
242
- (when ana/*load-tests*
243
- `(do
244
- (def ~(vary-meta name assoc :test `(fn [] ~@body))
245
- (fn [] (cljs.test/test-var (.-cljs$lang$var ~name))))
246
- (set! (.-cljs$lang$var ~name) (var ~name)))))
+ (let [body (if (:async (meta name))
+ (let [done-sym (gensym "done")]
+ [`(cljs.test/async ~done-sym
+ (try ~@body
+ (finally (~done-sym))))])
247
+ body)]
248
+ (when ana/*load-tests*
249
+ `(do
250
+ (def ~(vary-meta name assoc :test `(fn [] ~@body))
251
+ (fn [] (cljs.test/test-var (.-cljs$lang$var ~name))))
252
+ (set! (.-cljs$lang$var ~name) (var ~name))))))
253
254
(defmacro async
255
"Wraps body as a CPS function that can be returned from a test to
0 commit comments