|
7 | 7 | ;; You must not remove this notice, or any other, from this software.
|
8 | 8 |
|
9 | 9 | (ns cljs.analyzer.spec-tests
|
10 |
| - (:require [cljs.analyzer.api :as ana :refer [no-warn]] |
| 10 | + (:require [cljs.analyzer :as ana] |
| 11 | + [cljs.analyzer.api :as ana-api :refer [no-warn]] |
11 | 12 | [cljs.analyzer-tests :refer [analyze ns-env]]
|
12 | 13 | [cljs.analyzer.specs :as a]
|
13 | 14 | [clojure.test :as test :refer [deftest is]]
|
|
128 | 129 | (is (s/valid? ::a/node (analyze ns-env '(let [x 1]))))
|
129 | 130 | (is (s/valid? ::a/node (analyze ns-env '(let [x 1] x)))))
|
130 | 131 |
|
131 |
| -;; letfn |
| 132 | +(deftest test-letfn |
| 133 | + (let [node (analyze ns-env '(letfn [(foo [] (bar)) (bar [] (foo))]))] |
| 134 | + (is (= :letfn (:op node))) |
| 135 | + (is (s/valid? ::a/node node)))) |
132 | 136 |
|
133 | 137 | ;; list, no longer needed, subsumed by :quote
|
134 | 138 |
|
|
165 | 169 |
|
166 | 170 | ;; no-op
|
167 | 171 |
|
168 |
| -;; ns |
| 172 | +(deftest test-ns |
| 173 | + (let [node (no-warn |
| 174 | + (binding [ana/*cljs-ns* 'cljs.user] |
| 175 | + (analyze ns-env '(ns foo (:require [goog.string])))))] |
| 176 | + (is (= :ns (:op node))) |
| 177 | + (is (s/valid? ::a/node node)))) |
169 | 178 |
|
170 |
| -;; ns* |
| 179 | +#_(deftest test-ns* |
| 180 | + (let [node (no-warn |
| 181 | + (binding [ana/*cljs-ns* 'cljs.user] |
| 182 | + (analyze ns-env '(ns* foo '(:require [goog.string])))))] |
| 183 | + (is (= :ns (:op node))) |
| 184 | + (is (s/valid? ::a/node node)))) |
171 | 185 |
|
172 | 186 | (deftest test-quote
|
173 | 187 | (let [node (analyze ns-env ''(1 2 3))]
|
|
179 | 193 | (is (s/valid? ::a/node node))))
|
180 | 194 |
|
181 | 195 | (deftest test-set
|
182 |
| - (let [node (no-warn (analyze ns-env #{1 2 3}))] |
| 196 | + (let [node (analyze ns-env #{1 2 3})] |
183 | 197 | (is (= :set (:op node)))
|
184 | 198 | (is (s/valid? ::a/node node))))
|
185 | 199 |
|
186 |
| -;; set! |
| 200 | +(deftest test-set! |
| 201 | + (let [node (no-warn (analyze ns-env '(set! x 1)))] |
| 202 | + (is (= :set! (:op node))) |
| 203 | + (is (s/valid? ::a/node node)))) |
187 | 204 |
|
188 | 205 | ;; the-var
|
189 | 206 |
|
|
192 | 209 | (is (= :throw (:op node)))
|
193 | 210 | (is (s/valid? ::a/node node))))
|
194 | 211 |
|
195 |
| -;; try |
| 212 | +#_(deftest test-try |
| 213 | + (let [node (no-warn (analyze ns-env '(try 1 (catch :default e) (finally))))] |
| 214 | + (is (= :try (:op node))) |
| 215 | + (is (s/valid? ::a/node node)))) |
196 | 216 |
|
197 | 217 | ;; var
|
198 | 218 |
|
|
0 commit comments