Skip to content

Commit e5b7234

Browse files
committed
add more self-host tests, note about binding issue
1 parent 7d9dbc8 commit e5b7234

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/test/cljs/self_host/test.cljs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,19 @@
4646
(defn elide-env [env ast opts]
4747
(dissoc ast :env))
4848

49+
;; NOTE: can't set passes because callbacks happen _inside_ binding
50+
;; do so will effect other tests
51+
52+
(deftest test-analyze-str
53+
(async done
54+
(let [l (latch 1 done)]
55+
(cljs/analyze-str st "(+ 1 1)" nil
56+
{:context :expr}
57+
(fn [{:keys [error value]}]
58+
(is (nil? error))
59+
(is (= :js (:op value)))
60+
(inc! l))))))
61+
4962
(deftest test-compile-str
5063
(async done
5164
(let [l (latch 3 done)]
@@ -117,6 +130,37 @@
117130
(is (== (js/cljs.user.foo 1 2) 3))
118131
(inc! l))))))
119132

133+
(deftest test-eval-str-with-require
134+
(async done
135+
(let [l (latch 2 done)]
136+
(cljs/eval-str st
137+
"(ns foo.bar (:require [bootstrap-test.core]))\n(bootstrap-test.core/foo 3 4)"
138+
nil
139+
{:eval node-eval
140+
:load node-load}
141+
(fn [{:keys [value error]}]
142+
(is (nil? error))
143+
(is (== 7 value))
144+
(inc! l)))
145+
#_(cljs/eval-str st
146+
"(ns foo.bar (:require-macros [bootstrap-test.macros :refer [foo]]))\n(foo 4 4)"
147+
nil
148+
{:eval node-eval
149+
:load node-load}
150+
(fn [{:keys [error value]}]
151+
(is (nil? error))
152+
(is (== 16 value))
153+
(inc! l)))
154+
(cljs/eval-str st
155+
"(ns foo.bar)\n(first [1 2 3])"
156+
nil
157+
{:eval node-eval
158+
:load node-load}
159+
(fn [{:keys [error value]}]
160+
(is (nil? error))
161+
(is (== 1 value))
162+
(inc! l))))))
163+
120164
(defn -main [& args]
121165
(run-tests))
122166

0 commit comments

Comments
 (0)