Skip to content

Commit 68177b0

Browse files
committed
Test defonce
This closes #225.
1 parent 605ac50 commit 68177b0

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
(ns clojure.core-test.defonce
2+
(:require [clojure.test :refer [are deftest is testing]]
3+
[clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]]))
4+
5+
(when-var-exists defonce
6+
(deftest test-defonce
7+
8+
(testing "defining var only once"
9+
(is (some? (defonce one 1)))
10+
(is (nil? (defonce one 2)))
11+
(is (nil? (defonce one (assert false "should not be evaluated"))))
12+
(is (= one 1)))
13+
14+
(testing "bad shape"
15+
(are [name] (thrown? #?(:cljs js/Error :default Exception) (eval '(defonce name nil)))
16+
nil
17+
:k
18+
's
19+
0
20+
37.5
21+
true
22+
false
23+
'()
24+
[]
25+
#{}
26+
{}))))

0 commit comments

Comments
 (0)