Skip to content

Commit 78a013a

Browse files
author
dnolen
committed
CLJS-2951: Add a spec generator for some?
1 parent 267893a commit 78a013a

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/main/cljs/cljs/spec/gen/alpha.cljs

+1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ gen-builtins
8989
(c/delay
9090
(let [simple (simple-type-printable)]
9191
{any? (one-of [(return nil) (any-printable)])
92+
some? (such-that some? (any-printable))
9293
number? (one-of [(large-integer) (double)])
9394
integer? (large-integer)
9495
int? (large-integer)

src/test/cljs/cljs/spec_test.cljs

+4-1
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@
319319
(s/def ::c keyword?)
320320
(s/def ::d double?)
321321
(s/def ::e inst?)
322+
(s/def ::f some?)
322323

323324
(is (= #{[::a]
324325
[::a ::b]
@@ -356,7 +357,9 @@
356357
[:a :c :e]}
357358
(->> (s/exercise (s/keys :req-un [::a (or ::b (and ::c (or ::d ::e)))]) 200)
358359
(map (comp vec sort keys first))
359-
(into #{})))))
360+
(into #{}))))
361+
362+
(is (every? some? (map #(-> % first) (s/exercise ::f 10)))))
360363

361364
(deftest tuple-explain-pred
362365
(are [val expected]

0 commit comments

Comments
 (0)