File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ (ns tests.basilisp.test-tagged
2+ (:require
3+ [basilisp.test :refer [deftest is testing]]))
4+
5+ (deftest tagged-literal-test
6+ (let [tag 'tag
7+ form 1
8+ tagged (tagged-literal tag form)]
9+ (testing "equality"
10+ (is (= tagged tagged))
11+ (is (= tagged (tagged-literal tag form)))
12+ (is (not= tagged (tagged-literal 'foo form)))
13+ (is (not= tagged (tagged-literal tag 2))))
14+
15+ (testing "accessors"
16+ (is (= tag (:tag tagged)))
17+ (is (= form (:form tagged)))
18+ (is (nil? (:key tagged)))
19+ (is (= ::default (:key tagged ::default))))
20+
21+ (testing "predicate"
22+ (is (true? (tagged-literal? tagged)))
23+ (is (false? (tagged-literal? nil)))
24+ (is (false? (tagged-literal? 0)))
25+ (is (false? (tagged-literal? ::foo))))
26+
27+ (testing "printing"
28+ (is (= "#tag 1" (pr-str tagged)))
29+ (is (= "#js []" (pr-str (tagged-literal 'js []))))
30+ (is (= "#js {}" (pr-str (tagged-literal 'js {})))))
31+
32+ (testing "validation"
33+ (is (thrown? TypeError (tagged-literal 1 1)) ))))
You can’t perform that action at this time.
0 commit comments