Skip to content

Commit

Permalink
add first and rest tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lilactown committed Aug 17, 2022
1 parent 574f64d commit 27e064d
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion test/clava/compiler_test.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -528,11 +528,21 @@
(is (eq 3 (jsv! '(get {"my-key" 1} "bad-key" 3))))))

(deftest first-test
(is (= nil (jsv! '(first nil))))
(is (= nil (jsv! '(first []))))
(is (= nil (jsv! '(first #{}))))
(is (= nil (jsv! '(first {}))))
(is (= nil (jsv! '(first (js/Map. [])))))
(is (= 1 (jsv! '(first [1 2 3]))))
(is (= 1 (jsv! '(first #{1 2 3}))))
(is (eq #js [1 2] (jsv! '(first (js/Map. [[1 2] [3 4]]))))))

(deftest rest-test
(is (eq () (jsv! '(rest nil))))
(is (eq () (jsv! '(rest []))))
(is (eq () (jsv! '(rest #{}))))
(is (eq () (jsv! '(rest {}))))
(is (eq () (jsv! '(rest (js/Map. [])))))
(is (eq #js [2 3] (jsv! '(rest [1 2 3]))))
(is (eq #{2 3} (jsv! '(rest #{1 2 3}))))
(is (eq #js [#js [3 4]] (jsv! '(rest (js/Map. [[1 2] [3 4]]))))))
Expand Down Expand Up @@ -607,7 +617,18 @@
(is (= nil (jsv! '(seq []))))
(is (= nil (jsv! '(seq {}))))
(is (= nil (jsv! '(seq #{}))))
(is (= nil (jsv! '(seq (js/Map.)))))))
(is (= nil (jsv! '(seq (js/Map.))))))
(is (eq #js [0 2 4 6 8]
(jsv! '(loop [evens []
nums (range 10)]
(if-some [x (first nums)]
(recur (if (case x
(0 2 4 6 8 10) true
false)
(conj evens x)
evens)
(rest nums))
evens))))))

(defn init []
(cljs.test/run-tests 'clava.compiler-test))

0 comments on commit 27e064d

Please sign in to comment.