Skip to content

Commit 41ce594

Browse files
authored
[Fix #106] Handle properly scoped cljs macros in info (#107)
1 parent 0768f8e commit 41ce594

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/orchard/cljs/meta.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787

8888
(defn scoped-macro-meta
8989
[env sym & [context-ns]]
90-
(let [ns (or context-ns (macro-namespace env sym context-ns))
90+
(let [ns (or (macro-namespace env sym context-ns) context-ns)
9191
sym (symbol (name sym))]
9292
(when (and ns (find-ns ns))
9393
(some-> env

test/orchard/info_test.clj

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,28 @@
370370
(map #(info/info* %))
371371
(map #(select-keys % [:ns :name :arglists :macro :file])))))))))
372372

373+
(deftest info-macros-scoped-var-test
374+
(testing "Macro - scoped"
375+
(let [params '[{:ns orchard.test-ns
376+
:sym test-macros/my-add}]
377+
expected '{:name my-add
378+
:ns orchard.test-macros
379+
:arglists ([a b])
380+
:file "orchard/test_macros.clj"
381+
:macro true}]
382+
383+
(testing "- :cljs"
384+
(is (= (take 1 (repeat expected))
385+
(->> params
386+
(map #(info/info* (merge *cljs-params* %)))
387+
(map #(select-keys % [:ns :name :arglists :macro :file]))))))
388+
389+
(testing "- :clj"
390+
(is (= (take 1 (repeat expected))
391+
(->> params
392+
(map #(info/info* %))
393+
(map #(select-keys % [:ns :name :arglists :macro :file])))))))))
394+
373395
(deftest info-no-file-info-test
374396
(testing "File info key does not exist should not resolve classpath - issue #61"
375397
(let [params '{:sym finally}

0 commit comments

Comments
 (0)