File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2222 (list x)
2323 x))
2424
25+ (defn- enumerate-namespace* [sym-or-syms]
26+ (into #{}
27+ (mapcat
28+ (fn [sym]
29+ (->> (vals (ana-api/ns-interns sym))
30+ (map :name )
31+ (map
32+ (fn [name-sym]
33+ (symbol (name sym) (name name-sym)))))))
34+ (collectionize sym-or-syms)))
35+
36+ (defmacro enumerate-namespace
37+ " Given a symbol naming an ns, or a collection of such symbols,
38+ returns the set of all symbols naming vars in those nses."
39+ [ns-sym-or-syms]
40+ `'~(enumerate-namespace* (eval ns-sym-or-syms)))
41+
2542(defn- fn-spec-name?
2643 [s]
2744 (symbol? s))
Original file line number Diff line number Diff line change 1+ (ns cljs.spec.test.test-ns1 )
2+
3+ (def x 1 )
4+
5+ (def y 2 )
Original file line number Diff line number Diff line change 1+ (ns cljs.spec.test.test-ns2 )
2+
3+ (def z 3 )
Original file line number Diff line number Diff line change 22 (:require-macros [cljs.spec.test.test-macros])
33 (:require [cljs.test :as test :refer-macros [deftest is are run-tests]]
44 [cljs.spec.alpha :as s]
5- [cljs.spec.test.alpha :as stest]))
5+ [cljs.spec.test.alpha :as stest]
6+ [cljs.spec.test.test-ns1]
7+ [cljs.spec.test.test-ns2]))
68
79(s/fdef clojure.core/symbol
810 :args (s/alt :separate (s/cat :ns string? :n string?)
8587
8688(deftest test-2755
8789 (is (uri? (ffirst (s/exercise uri? 1 )))))
90+
91+ (deftest test-cljs-2665
92+ (is (= '#{cljs.spec.test.test-ns1/x cljs.spec.test.test-ns1/y cljs.spec.test.test-ns2/z}
93+ (stest/enumerate-namespace '[cljs.spec.test.test-ns1 cljs.spec.test.test-ns2])))
94+ (is (= '#{cljs.spec.test.test-ns1/x cljs.spec.test.test-ns1/y cljs.spec.test.test-ns2/z}
95+ (stest/enumerate-namespace ['cljs.spec.test.test-ns1 'cljs.spec.test.test-ns2])))
96+ (is (= '#{cljs.spec.test.test-ns1/x cljs.spec.test.test-ns1/y}
97+ (stest/enumerate-namespace 'cljs.spec.test.test-ns1)))
98+ (is (= '#{cljs.spec.test.test-ns2/z}
99+ (stest/enumerate-namespace 'cljs.spec.test.test-ns2))))
You can’t perform that action at this time.
0 commit comments