File tree 2 files changed +24
-10
lines changed
2 files changed +24
-10
lines changed Original file line number Diff line number Diff line change 371
371
372
372
(deftest test-load-and-invoke-macros
373
373
(async done
374
- (let [l (latch 11 done)]
374
+ (let [l (latch 12 done)]
375
375
; ; Normal require macros
376
376
(let [st (cljs/empty-state )]
377
377
(cljs/eval-str st
590
590
(fn [{:keys [error value]}]
591
591
(is (nil? error))
592
592
(is (= 320 value))
593
+ (inc! l))))))
594
+ (let [st (cljs/empty-state )]
595
+ ; ; Rely on implicit macro loading (ns loads its own macros), with an alias
596
+ ; ; CLJS-1657
597
+ (cljs/eval-str st
598
+ " (ns cljs.user (:require [foo.core :as foo]))"
599
+ nil
600
+ {:eval node-eval
601
+ :load (fn [{:keys [macros]} cb]
602
+ (if macros
603
+ (cb {:lang :clj :source " (ns foo.core) (defmacro add [a b] `(+ ~a ~b))" })
604
+ (cb {:lang :clj :source " (ns foo.core (:require-macros foo.core))" })))}
605
+ (fn [{:keys [value error]}]
606
+ (is (nil? error))
607
+ (cljs/eval-str st
608
+ " (foo/add 300 500)"
609
+ nil
610
+ {:eval node-eval
611
+ :context :expr }
612
+ (fn [{:keys [error value]}]
613
+ (is (nil? error))
614
+ (is (= 800 value))
593
615
(inc! l)))))))))
594
616
595
617
(deftest test-eval-str-with-require-macros
Original file line number Diff line number Diff line change 230
230
:verbose false }
231
231
cb))
232
232
233
- (defn prime-analysis-cache-for-implicit-macro-loading
234
- " Supports priming analysis cache in order to work around
235
- http://dev.clojure.org/jira/browse/CLJS-1657"
236
- [st ns-sym]
237
- (swap! st assoc-in [::cljs.analyzer/namespaces ns-sym :require-macros ] {ns-sym ns-sym}))
238
-
239
233
; ; Test suite runner
240
234
241
- (defn run-tests
235
+ (defn run-tests
242
236
" Runs the tests."
243
237
[]
244
238
; ; Ideally we'd just load test_runner.cljs, but a few namespace tests
245
239
; ; don't yet run in bootstrapped ClojureScript. These are commented
246
240
; ; out below and can be uncommented as fixed.
247
241
(let [st (cljs/empty-state )]
248
- (prime-analysis-cache-for-implicit-macro-loading st 'cljs.spec)
249
- (prime-analysis-cache-for-implicit-macro-loading st 'cljs.spec.impl.gen)
250
242
(eval-form st 'cljs.user
251
243
'(ns parity.core
252
244
(:require [cljs.test :refer-macros [run-tests]]
You can’t perform that action at this time.
0 commit comments