Skip to content

Commit 1e739e7

Browse files
author
dnolen
committed
move some more primitive tests
1 parent 2283457 commit 1e739e7

File tree

2 files changed

+207
-207
lines changed

2 files changed

+207
-207
lines changed

src/test/cljs/cljs/core_test.cljs

Lines changed: 0 additions & 207 deletions
Original file line numberDiff line numberDiff line change
@@ -47,70 +47,6 @@
4747
(is (= {"x" "y"} (meta ^{"x" "y"} [])))
4848
))
4949

50-
(deftest test-bit-operations
51-
(testing "Testing bit operations"
52-
(is (= [1 0 0 40 43 49 49])
53-
[(bit-xor 0 1)
54-
(bit-xor 1 1)
55-
(bit-xor 1 0)
56-
(bit-xor 41 1)
57-
(bit-xor 42 1)
58-
(bit-xor 42 1 26)
59-
(apply bit-xor [42 1 26])])
60-
(is (= [0 0 1 0 1 1 1]
61-
[(bit-and 1 0)
62-
(bit-and 0 0)
63-
(bit-and 1 1)
64-
(bit-and 42 1)
65-
(bit-and 41 1)
66-
(bit-and 41 1 27)
67-
(apply bit-and [41 1 27])]))
68-
(is (= [1 0 1 43 41 59 59]
69-
[(bit-or 1 0)
70-
(bit-or 0 0)
71-
(bit-or 1 1)
72-
(bit-or 42 1)
73-
(bit-or 41 1)
74-
(bit-or 41 1 26)
75-
(apply bit-or [41 1 26])]))
76-
(is (= [1 0 0 42 32 32]
77-
[(bit-and-not 1 0)
78-
(bit-and-not 0 0)
79-
(bit-and-not 1 1)
80-
(bit-and-not 42 1)
81-
(bit-and-not 41 1 27)
82-
(apply bit-and-not [41 1 27])]))
83-
(is (= [0 2 968 16649 0]
84-
[(bit-clear 1 0)
85-
(bit-clear 2 0)
86-
(bit-clear 1000 5)
87-
(bit-clear 16713 6)
88-
(bit-clear 1024 10)]))
89-
(is (= [0 0 992 18761 0]
90-
[(bit-flip 1 0)
91-
(bit-flip 2 1)
92-
(bit-flip 1000 3)
93-
(bit-flip 16713 11)
94-
(bit-flip 1024 10)]))
95-
(is (= [-2 -3 999 -16714 -1025]
96-
[(bit-not 1)
97-
(bit-not 2)
98-
(bit-not -1000)
99-
(bit-not 16713)
100-
(bit-not 1024)]))
101-
(is (= [1 2 1000 18761 1024]
102-
[(bit-set 1 0)
103-
(bit-set 2 1)
104-
(bit-set 1000 3)
105-
(bit-set 16713 11)
106-
(bit-set 1024 10)]))
107-
(is (= [true true true false true]
108-
[(bit-test 1 0)
109-
(bit-test 2 1)
110-
(bit-test 1000 3)
111-
(bit-test 16713 11)
112-
(bit-test 1024 10)]))))
113-
11450
(deftest test-vectors
11551
(testing "Testing vectors"
11652
(is (= :a (nth [:a :b :c :d] 0)))
@@ -185,73 +121,6 @@
185121
(is (= () (rest [1])))
186122
(is (= () (rest (array 1))))))
187123

188-
(deftest test-apply
189-
(testing "Testing apply"
190-
(is (= 0 (apply + nil)))
191-
(is (= 0 (apply + (list))))
192-
(is (= 1 (apply + (list 1))))
193-
(is (= 3 (apply + 1 (list 2))))
194-
(is (= 7 (apply + 1 2 (list 4))))
195-
(is (= 15 (apply + 1 2 4 (list 8))))
196-
(is (= 31 (apply + 1 2 4 8 (list 16))))
197-
(is (= 63 (apply + 1 2 4 8 16 (list 32))))
198-
(is (= 127 (apply + 1 2 4 8 16 (list 32 64))))
199-
(is (= 4950 (apply + (take 100 (iterate inc 0)))))
200-
(is (= () (apply list [])))
201-
(is (= [1 2 3] (apply list [1 2 3])))
202-
(is (= 6 (apply apply [+ [1 2 3]])))
203-
;; apply with infinite sequence
204-
(is (= 3 (apply (fn [& args]
205-
(+ (nth args 0)
206-
(nth args 1)
207-
(nth args 2)))
208-
(iterate inc 0))))
209-
(is (= [0 1 2 3 4] (take 5 (apply (fn [& m] m) (iterate inc 0)))))
210-
(is (= [1 2 3 4 5] (take 5 (apply (fn [x & m] m) (iterate inc 0)))))
211-
(is (= [2 3 4 5 6] (take 5 (apply (fn [x y & m] m) (iterate inc 0)))))
212-
(is (= [3 4 5 6 7] (take 5 (apply (fn [x y z & m] m) (iterate inc 0)))))
213-
(is (= [4 5 6 7 8] (take 5 (apply (fn [x y z a & m] m) (iterate inc 0)))))
214-
(is (= [5 6 7 8 9] (take 5 (apply (fn [x y z a b & m] m) (iterate inc 0)))))
215-
;; apply arity tests
216-
(let [single-arity-non-variadic (fn [x y z] [z y x])
217-
multiple-arity-non-variadic (fn ([x] x) ([x y] [y x]) ([x y z] [z y x]))
218-
single-arity-variadic-fixedargs (fn [x y & more] [more y x])
219-
single-arity-variadic-nofixedargs (fn [& more] more)
220-
multiple-arity-variadic (fn ([x] x) ([x y] [y x]) ([x y & more] [more y x]))]
221-
(testing "arities"
222-
(is (= [3 2 1] (apply single-arity-non-variadic [1 2 3])))
223-
(is (= [3 2 1] (apply single-arity-non-variadic 1 [2 3])))
224-
(is (= [3 2 1] (apply single-arity-non-variadic 1 2 [3])))
225-
(is (= 42 (apply multiple-arity-non-variadic [42])))
226-
(is (= [2 1] (apply multiple-arity-non-variadic [1 2])))
227-
(is (= [2 1] (apply multiple-arity-non-variadic 1 [2])))
228-
(is (= [3 2 1] (apply multiple-arity-non-variadic [1 2 3])))
229-
(is (= [3 2 1] (apply multiple-arity-non-variadic 1 [2 3])))
230-
(is (= [3 2 1] (apply multiple-arity-non-variadic 1 2 [3])))
231-
(is (= [[3 4 5] 2 1] (apply single-arity-variadic-fixedargs [1 2 3 4 5])))
232-
(is (= [[3 4 5] 2 1] (apply single-arity-variadic-fixedargs 1 [2 3 4 5])))
233-
(is (= [[3 4 5] 2 1] (apply single-arity-variadic-fixedargs 1 2 [3 4 5])))
234-
(is (= [[3 4 5] 2 1] (apply single-arity-variadic-fixedargs 1 2 3 [4 5])))
235-
(is (= [[3 4 5] 2 1] (apply single-arity-variadic-fixedargs 1 2 3 4 [5])))
236-
(is (= [3 4 5] (take 3 (first (apply single-arity-variadic-fixedargs (iterate inc 1))))))
237-
(is (= [2 1] (rest (apply single-arity-variadic-fixedargs (iterate inc 1)))))
238-
(is (= [1 2 3 4 5] (apply single-arity-variadic-nofixedargs [1 2 3 4 5])))
239-
(is (= [1 2 3 4 5] (apply single-arity-variadic-nofixedargs 1 [2 3 4 5])))
240-
(is (= [1 2 3 4 5] (apply single-arity-variadic-nofixedargs 1 2 [3 4 5])))
241-
(is (= [1 2 3 4 5] (apply single-arity-variadic-nofixedargs 1 2 3 [4 5])))
242-
(is (= [1 2 3 4 5] (apply single-arity-variadic-nofixedargs 1 2 3 4 [5])))
243-
(is (= [1 2 3 4 5] (take 5 (apply single-arity-variadic-nofixedargs (iterate inc 1)))))
244-
(is (= 42 (apply multiple-arity-variadic [42])))
245-
(is (= [2 1] (apply multiple-arity-variadic [1 2])))
246-
(is (= [2 1] (apply multiple-arity-variadic 1 [2])))
247-
(is (= [[3 4 5] 2 1] (apply multiple-arity-variadic [1 2 3 4 5])))
248-
(is (= [[3 4 5] 2 1] (apply multiple-arity-variadic 1 [2 3 4 5])))
249-
(is (= [[3 4 5] 2 1] (apply multiple-arity-variadic 1 2 [3 4 5])))
250-
(is (= [[3 4 5] 2 1] (apply multiple-arity-variadic 1 2 3 [4 5])))
251-
(is (= [[3 4 5] 2 1] (apply multiple-arity-variadic 1 2 3 4 [5])))
252-
(is (= [3 4 5] (take 3 (first (apply multiple-arity-variadic (iterate inc 1))))))
253-
(is (= [2 1] (rest (apply multiple-arity-variadic (iterate inc 1)))))))))
254-
255124
;; this fails in v8 - why?
256125
;; (assert (= "symbol\"'string" (pr-str (str 'symbol \" \' "string"))))
257126
(deftest test-misc
@@ -398,20 +267,6 @@
398267
(is (try (do (take-nth nil [1 2 3]) false)
399268
(catch js/Error e true)))))
400269

401-
(deftest test-booleans
402-
(testing "Testing boolean predicates"
403-
(is (= [true false true false false false true true false false]
404-
[(true? true)
405-
(true? false)
406-
(false? false)
407-
(false? true)
408-
(true? js/undefined)
409-
(false? js/undefined)
410-
(boolean? true)
411-
(boolean? false)
412-
(boolean? nil)
413-
(boolean? js/undefined)]))))
414-
415270
(deftest test-fn-with-metadata
416271
(let [f (fn [x] (* x 2))
417272
m {:foo "bar"}
@@ -513,51 +368,6 @@
513368
(is (empty? e-queue))
514369
(is (= {:b :c} (meta e-queue)))))))
515370

516-
(deftest test-try-catch
517-
(let [a (atom nil)]
518-
(testing "Testing try/catch"
519-
(is (= 1 (try 1)))
520-
(is (= 2 (try 1 (throw (js/Error.)) (catch js/Error e 2))))
521-
(is (= 2 (try 1 (throw (js/Error.)) (catch js/Error e 1 2))))
522-
(is (= 2 (try 1 (throw (js/Error.)) (catch js/Error e 2) (catch :default e 3))))
523-
(is (= 3 (try 1 (throw true) (catch js/Error e 2) (catch :default e 3))))
524-
(is (= 2 (try 1 (throw 2) (catch js/Error e 3) (catch :default e e))))
525-
(is (= 1 (try 1 (finally (reset! a 42)))))
526-
(is (= 42 (deref a))))))
527-
528-
(deftest test-list-comprehensions
529-
(let [v [1 2 3]]
530-
(testing "Testing list comprehensions"
531-
(is (= v (for [e v] e)))
532-
(is (= [[1 1] [2 4] [3 9]] (for [e v :let [m (* e e)]] [e m])))
533-
(is (= [1 2] (for [e v :while (< e 3)] e)))
534-
(is (= [3] (for [e v :when (> e 2)] e)))
535-
(is (= [[1 1] [2 4]] (for [e v :while (< e 3) :let [m (* e e)]] [e m]))))))
536-
537-
(deftest test-partial-and-comp
538-
(let [a10 (partial + 10)
539-
a20 (partial + 10 10)
540-
a21 (partial + 10 10 1)
541-
a22 (partial + 10 5 4 3)
542-
a23 (partial + 10 5 4 3 1)]
543-
(testing "Testing partial"
544-
(is (= 110 (a10 100)))
545-
(is (= 120 (a20 100)))
546-
(is (= 121 (a21 100)))
547-
(is (= 122 (a22 100)))
548-
(is (= 123 (a23 100)))))
549-
(let [n2 (comp first rest)
550-
n3 (comp first rest rest)
551-
n4 (comp first rest rest rest)
552-
n5 (comp first rest rest rest rest)
553-
n6 (comp first rest rest rest rest rest)]
554-
(testing "Testing comp"
555-
(is (= 2 (n2 [1 2 3 4 5 6 7])))
556-
(is (= 3 (n3 [1 2 3 4 5 6 7])))
557-
(is (= 4 (n4 [1 2 3 4 5 6 7])))
558-
(is (= 5 (n5 [1 2 3 4 5 6 7])))
559-
(is (= 6 (n6 [1 2 3 4 5 6 7]))))))
560-
561371
(deftest test-sets
562372
(testing "Testing persistent sets"
563373
(is (set []))
@@ -636,23 +446,6 @@
636446
(is (= (distinct [#{1 2} #{1 2}]) [#{1 2}]))
637447
(is (= (distinct [#{} #{}]) [#{}]))))
638448

639-
(deftest test-regexps
640-
(testing "Testing regexps"
641-
(let [r1 #"foo", r2 (re-pattern r1)]
642-
(is (= r1 r2)))
643-
(is (= (str (re-pattern "f(.)o")) (str (js* "/f(.)o/"))))
644-
(is (= (re-find (re-pattern "foo") "foo bar foo baz foo zot") "foo"))
645-
(is (= (re-find (re-pattern "f(.)o") "foo bar foo baz foo zot") ["foo" "o"]))
646-
(is (= (re-matches (re-pattern "foo") "foo") "foo"))
647-
(is (= (re-matches (re-pattern "foo") "foo bar foo baz foo zot") nil))
648-
(is (= (re-matches (re-pattern "foo.*") "foo bar foo baz foo zot") "foo bar foo baz foo zot"))
649-
(is (= (re-seq (re-pattern "foo") "foo bar foo baz foo zot") (list "foo" "foo" "foo")))
650-
(is (= (re-seq (re-pattern "f(.)o") "foo bar foo baz foo zot") (list ["foo" "o"] ["foo" "o"] ["foo" "o"])))
651-
(is (= (re-matches (re-pattern "(?i)foo") "Foo") "Foo"))
652-
; new RegExp("").source => "(?:)" on webkit-family envs, "" elsewhere
653-
(is (#{"#\"\"" "#\"(?:)\""} (pr-str #"")))
654-
(is (= (re-find (re-pattern "[\u2028]") " \u2028 ") "\u2028")))) ; regression test for CLJS-889
655-
656449
(deftest test-destructuring
657450
(testing "Testing destructuring"
658451
(is (= [2 1] (let [[a b] [1 2]] [b a])))

0 commit comments

Comments
 (0)