Skip to content

Commit f41d40b

Browse files
author
dnolen
committed
Merge branch 'master' of github.com:clojure/clojurescript
2 parents b8a14ee + 74db880 commit f41d40b

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/main/cljs/cljs/spec.cljc

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -462,12 +462,16 @@
462462
([sym n]
463463
`(exercise-fn ~sym ~n nil))
464464
([sym n fspec]
465-
`(let [fspec# ~(if-not fspec
466-
`(cljs.spec/get-spec '~(:name (resolve &env sym)))
467-
fspec)
468-
f# ~sym]
469-
(for [args# (gen/sample (gen (:args fspec#)) ~n)]
470-
[args# (apply f# args#)]))))
465+
(let [sym (cond-> sym
466+
(clojure.core/and (sequential? sym)
467+
(= (first sym) 'quote))
468+
second)]
469+
`(let [fspec# ~(if-not fspec
470+
`(cljs.spec/get-spec '~(:name (resolve &env sym)))
471+
fspec)
472+
f# ~sym]
473+
(for [args# (gen/sample (gen (:args fspec#)) ~n)]
474+
[args# (apply f# args#)])))))
471475

472476
(defmacro ^:private init-compile-asserts []
473477
(let [compile-asserts (not (-> env/*compiler* deref :options :elide-asserts))]

src/test/cljs/cljs/spec_test.cljs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@
7070
(deftest test-cljs-1754
7171
(is (boolean? (gen/generate (s/gen boolean?)))))
7272

73+
(s/fdef cljs-1757-x :args (s/cat ::first number?) :ret #(= % 2))
74+
(defn cljs-1757-x [b] 2)
75+
76+
(deftest test-cljs-1757
77+
(is (s/exercise-fn `cljs-1757-x)))
78+
7379
;; Copied from Clojure spec tests
7480

7581
(def even-count? #(even? (count %)))

0 commit comments

Comments
 (0)