Skip to content

Commit f55b19b

Browse files
mfikesswannodette
authored andcommitted
CLJS-2414: Self-host: Macro specs are instrumented
1 parent 566be7c commit f55b19b

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/main/cljs/cljs/spec/test/alpha.cljc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
(defmacro instrument-1
3636
[[quote s] opts]
3737
(when-let [v (ana-api/resolve &env s)]
38-
(when (nil? (:const v))
38+
(when (and (nil? (:const v))
39+
#?(:cljs (nil? (:macro v))))
3940
(swap! instrumented-vars conj (:name v))
4041
`(let [checked# (instrument-1* '~s (var ~s) ~opts)]
4142
(when checked# (set! ~s checked#))
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(ns cljs.spec.test.test-macros
2+
#?(:cljs (:require [cljs.spec.alpha :as s])))
3+
4+
(defmacro add
5+
[a b]
6+
`(+ ~a ~b))
7+
8+
#?(:cljs
9+
(s/fdef add
10+
:args (s/cat :a number? :b number?)))

src/test/cljs/cljs/spec/test_test.cljs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
(ns cljs.spec.test-test
2+
(:require-macros [cljs.spec.test.test-macros])
23
(:require [cljs.test :as test :refer-macros [deftest is are run-tests]]
34
[cljs.spec.alpha :as s]
45
[cljs.spec.test.alpha :as stest]))
@@ -37,3 +38,6 @@
3738
(deftest test-cljs-2391-c
3839
(stest/unstrument `f-2391)
3940
(is (= 1 (f-2391))))
41+
42+
(deftest test-cljs-2414
43+
(is (empty? (stest/instrument 'cljs.spec.test.test-macros$macros/add))))

0 commit comments

Comments
 (0)