|
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