We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 605ac50 commit 68177b0Copy full SHA for 68177b0
test/clojure/core_test/defonce.cljc
@@ -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