|
18 | 18 | (is (s/valid? ::a/node (analyze ns-env 1.2)))
|
19 | 19 | (is (s/valid? ::a/node (analyze ns-env true)))
|
20 | 20 | (is (s/valid? ::a/node (analyze ns-env "foo")))
|
21 |
| - (is (s/valid? ::a/node (analyze ns-env []))) |
| 21 | + (let [node (analyze ns-env [])] |
| 22 | + (is (= :vector (:op node))) |
| 23 | + (is (s/valid? ::a/node node))) |
22 | 24 | (is (s/valid? ::a/node (analyze ns-env [1 2 3])))
|
23 | 25 | (is (s/valid? ::a/node (analyze ns-env {})))
|
24 |
| - (is (s/valid? ::a/node (analyze ns-env {1 2 3 4}))) |
| 26 | + (let [node (analyze ns-env {1 2 3 4})] |
| 27 | + (is (= :map (:op node))) |
| 28 | + (is (s/valid? ::a/node node))) |
25 | 29 | (is (s/valid? ::a/node (analyze ns-env #{})))
|
26 |
| - (is (s/valid? ::a/node (analyze ns-env #{1 2 3})))) |
| 30 | + (let [node (analyze ns-env #{1 2 3})] |
| 31 | + (is (= :set (:op node))) |
| 32 | + (is (s/valid? ::a/node node)))) |
27 | 33 |
|
28 | 34 | (deftest test-if
|
29 |
| - (is (s/valid? ::a/node (analyze ns-env '(if true true)))) |
| 35 | + (let [node (analyze ns-env '(if true true))] |
| 36 | + (is (= :if (:op node))) |
| 37 | + (is (s/valid? ::a/node node))) |
30 | 38 | (is (s/valid? ::a/node (analyze ns-env '(if true true false)))))
|
31 | 39 |
|
32 | 40 | (deftest test-do
|
33 |
| - (is (s/valid? ::a/node (analyze ns-env '(do)))) |
| 41 | + (let [node (analyze ns-env '(do))] |
| 42 | + (is (= :do (:op node))) |
| 43 | + (is (s/valid? ::a/node node))) |
34 | 44 | (is (s/valid? ::a/node (analyze ns-env '(do 1))))
|
35 | 45 | (is (s/valid? ::a/node (analyze ns-env '(do 1 2 3)))))
|
36 | 46 |
|
37 | 47 | (deftest test-let
|
38 |
| - (is (s/valid? ::a/node (analyze ns-env '(let [])))) |
| 48 | + (let [node (analyze ns-env '(let []))] |
| 49 | + (is (= :let (:op node))) |
| 50 | + (is (s/valid? ::a/node node))) |
39 | 51 | (is (s/valid? ::a/node (analyze ns-env '(let [x 1]))))
|
40 | 52 | (is (s/valid? ::a/node (analyze ns-env '(let [x 1] x)))))
|
41 | 53 |
|
42 | 54 | (deftest test-throw
|
43 |
| - (is (s/valid? ::a/node (no-warn (analyze ns-env '(throw (js/Error. "foo"))))))) |
| 55 | + (let [node (no-warn (analyze ns-env '(throw (js/Error. "foo"))))] |
| 56 | + (is (= :throw (:op node))) |
| 57 | + (is (s/valid? ::a/node node)))) |
44 | 58 |
|
45 | 59 | (deftest test-def
|
46 |
| - (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x))))) |
| 60 | + (let [node (no-warn (analyze ns-env '(def x)))] |
| 61 | + (is (= :def (:op node))) |
| 62 | + (is (s/valid? ::a/node node))) |
47 | 63 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x 1)))))
|
48 | 64 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x (fn []))))))
|
49 | 65 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x (fn [y] y)))))))
|
50 | 66 |
|
51 | 67 | (deftest test-fn
|
52 |
| - (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn []))))) |
| 68 | + (let [node (no-warn (analyze ns-env '(fn [])))] |
| 69 | + (is (= :fn (:op node))) |
| 70 | + (is (s/valid? ::a/node node))) |
53 | 71 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [] 1)))))
|
54 | 72 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x])))))
|
55 | 73 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x] 1))))))
|
|
60 | 78 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(defn x [y] y))))))
|
61 | 79 |
|
62 | 80 | (deftest test-new
|
63 |
| - (is (s/valid? ::a/node (no-warn (analyze ns-env '(new String))))) |
| 81 | + (let [node (no-warn (analyze ns-env '(new String)))] |
| 82 | + (is (= :new (:op node))) |
| 83 | + (is (s/valid? ::a/node node))) |
64 | 84 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(new js/String)))))
|
65 | 85 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(String.)))))
|
66 | 86 | (is (s/valid? ::a/node (no-warn (analyze ns-env '(js/String.))))))
|
|
0 commit comments