Skip to content

Commit 0277a75

Browse files
authored
break out chunked-seq, es6-iterator, and interop .equiv test from cljs.core-test (#266)
1 parent 8e6fa1c commit 0277a75

File tree

4 files changed

+101
-75
lines changed

4 files changed

+101
-75
lines changed

src/test/cljs/cljs/chunked_seq.cljs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
; Copyright (c) Rich Hickey. All rights reserved.
2+
; The use and distribution terms for this software are covered by the
3+
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
4+
; which can be found in the file epl-v10.html at the root of this distribution.
5+
; By using this software in any fashion, you are agreeing to be bound by
6+
; the terms of this license.
7+
; You must not remove this notice, or any other, from this software.
8+
9+
(ns cljs.chunked-seq
10+
(:refer-clojure :exclude [iter])
11+
(:require [cljs.test :refer-macros [deftest testing is are]]))
12+
13+
(deftest test-cljs-2693
14+
(is (chunked-seq? (range 5)))
15+
(is (satisfies? IChunk (chunk-first (range 5))))
16+
(is (nil? (chunk-next (range 32))))
17+
(is (not (chunked-seq? (range 2 -2 0))))
18+
(is (chunked-seq? (range)))
19+
(is (= 5 (count (chunk-first (range 5)))))
20+
(is (= 32 (count (chunk-first (range)))))
21+
(is (= 17 (nth (chunk-first (range 100)) 17)))
22+
(is (= 35 (nth (chunk-first (range 100)) 35)))
23+
(is (= 32 (count (chunk-first (range 100)))))
24+
(is (= 0 (first (range 5))))
25+
(is (= 1 (second (range 5))))
26+
(is (= (range 1 5) (rest (range 5))))
27+
(is (= (range 1 5) (next (range 5)))))

src/test/cljs/cljs/core_test.cljs

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -408,17 +408,6 @@
408408
(halt-when :anomaly #(assoc %2 :partial-results %1))
409409
[1 2 {:anomaly :oh-no!} 3 4]))))
410410

411-
(deftest test-obj-equiv
412-
(testing "Object equiv method"
413-
(is (.equiv :foo :foo))
414-
(is (.equiv 'foo 'foo))
415-
(is (.equiv {:foo 1 :bar 2} {:foo 1 :bar 2}))
416-
(is (.equiv [1 2 3] [1 2 3]))
417-
(is (.equiv '(1 2 3) '(1 2 3)))
418-
(is (.equiv (map inc [1 2 3]) (map inc [1 2 3])))
419-
(is (.equiv #{:cat :dog :bird} #{:cat :dog :bird}))
420-
))
421-
422411
(defn seq-iter-match
423412
[coll]
424413
(let [i (-iterator coll)]
@@ -456,54 +445,6 @@
456445
(is (= true (seq-iter-match test-queue)))
457446
(is (= true (seq-iter-match test-record))))))
458447

459-
(deftest test-es6-interfaces
460-
(testing "ES6 collection interfaces"
461-
(let [iter (es6-iterator [1 2 3])]
462-
(testing "basic iterations"
463-
(is (= (.-value (.next iter)) 1))
464-
(is (= (.-value (.next iter)) 2))
465-
(is (= (.-value (.next iter)) 3))
466-
(is (.-done (.next iter)))))
467-
(is (.has {:foo "bar"} :foo))
468-
(is (= (.get {:foo "bar"} :foo) "bar"))
469-
(is (= (.get {:foo "bar"} :bar :default) :default))
470-
(let [iter (.keys {:foo "bar" :baz "woz"})]
471-
(testing "map key iteration"
472-
(is (#{:foo :baz} (.-value (.next iter))))
473-
(is (#{:foo :baz} (.-value (.next iter))))
474-
(is (.-done (.next iter)))))
475-
(let [eiter (.entries {:foo "bar" :baz "woz"})]
476-
(testing "map entry iteration"
477-
(let [entries #{(seq #js [:foo "bar"]) (seq #js [:baz "woz"])}]
478-
(is (entries (seq (.-value (.next eiter)))))
479-
(is (entries (seq (.-value (.next eiter))))))
480-
(is (.-done (.next eiter)))))
481-
(let [iter (.values {:foo "bar" :baz "woz"})]
482-
(testing "map value iteration"
483-
(is (#{"bar" "woz"} (.-value (.next iter))))
484-
(is (#{"bar" "woz"} (.-value (.next iter))))
485-
(is (.-done (.next iter)))))
486-
(is (.has #{:cat :bird :dog} :bird))
487-
(let [iter (.keys #{:cat :bird :dog})]
488-
(testing "set key iteration"
489-
(is (#{:cat :bird :dog} (.-value (.next iter))))
490-
(is (#{:cat :bird :dog} (.-value (.next iter))))
491-
(is (#{:cat :bird :dog} (.-value (.next iter))))
492-
(is (.-done (.next iter)))))
493-
(let [iter (.entries #{:cat :bird :dog})]
494-
(testing "set entry iteration"
495-
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
496-
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
497-
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
498-
(is (.-done (.next iter)))))
499-
(let [iter (.values #{:cat :bird :dog})]
500-
(testing "set value iteration"
501-
(is (#{:cat :bird :dog} (.-value (.next iter))))
502-
(is (#{:cat :bird :dog} (.-value (.next iter))))
503-
(is (#{:cat :bird :dog} (.-value (.next iter))))
504-
(is (.-done (.next iter)))))
505-
))
506-
507448
(deftest test-reader-literals
508449
(testing "Testing reader literals"
509450
(is (= #queue [1] (into cljs.core.PersistentQueue.EMPTY [1])))
@@ -1670,22 +1611,6 @@
16701611
;; Make sure we didn't delete the alpha? fn
16711612
(is (some? alpha-2585?)))
16721613

1673-
(deftest test-cljs-2693
1674-
(is (chunked-seq? (range 5)))
1675-
(is (satisfies? IChunk (chunk-first (range 5))))
1676-
(is (nil? (chunk-next (range 32))))
1677-
(is (not (chunked-seq? (range 2 -2 0))))
1678-
(is (chunked-seq? (range)))
1679-
(is (= 5 (count (chunk-first (range 5)))))
1680-
(is (= 32 (count (chunk-first (range)))))
1681-
(is (= 17 (nth (chunk-first (range 100)) 17)))
1682-
(is (= 35 (nth (chunk-first (range 100)) 35)))
1683-
(is (= 32 (count (chunk-first (range 100)))))
1684-
(is (= 0 (first (range 5))))
1685-
(is (= 1 (second (range 5))))
1686-
(is (= (range 1 5) (rest (range 5))))
1687-
(is (= (range 1 5) (next (range 5)))))
1688-
16891614
(defn fn-2741* ([x]) ([x y]))
16901615
(def fn-2741 fn-2741*)
16911616

src/test/cljs/cljs/interop_test.cljs

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
; Copyright (c) Rich Hickey. All rights reserved.
2+
; The use and distribution terms for this software are covered by the
3+
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
4+
; which can be found in the file epl-v10.html at the root of this distribution.
5+
; By using this software in any fashion, you are agreeing to be bound by
6+
; the terms of this license.
7+
; You must not remove this notice, or any other, from this software.
8+
9+
(ns cljs.interop-test
10+
(:refer-clojure :exclude [iter])
11+
(:require [cljs.test :refer-macros [deftest testing is are]]))
12+
13+
(deftest test-obj-equiv
14+
(testing "Object equiv method"
15+
(is (.equiv :foo :foo))
16+
(is (.equiv 'foo 'foo))
17+
(is (.equiv {:foo 1 :bar 2} {:foo 1 :bar 2}))
18+
(is (.equiv [1 2 3] [1 2 3]))
19+
(is (.equiv '(1 2 3) '(1 2 3)))
20+
(is (.equiv (map inc [1 2 3]) (map inc [1 2 3])))
21+
(is (.equiv #{:cat :dog :bird} #{:cat :dog :bird}))
22+
))
23+
24+
(deftest test-es6-interfaces
25+
(testing "ES6 collection interfaces"
26+
(let [iter (es6-iterator [1 2 3])]
27+
(testing "basic iterations"
28+
(is (= (.-value (.next iter)) 1))
29+
(is (= (.-value (.next iter)) 2))
30+
(is (= (.-value (.next iter)) 3))
31+
(is (.-done (.next iter)))))
32+
(is (.has {:foo "bar"} :foo))
33+
(is (= (.get {:foo "bar"} :foo) "bar"))
34+
(is (= (.get {:foo "bar"} :bar :default) :default))
35+
(let [iter (.keys {:foo "bar" :baz "woz"})]
36+
(testing "map key iteration"
37+
(is (#{:foo :baz} (.-value (.next iter))))
38+
(is (#{:foo :baz} (.-value (.next iter))))
39+
(is (.-done (.next iter)))))
40+
(let [eiter (.entries {:foo "bar" :baz "woz"})]
41+
(testing "map entry iteration"
42+
(let [entries #{(seq #js [:foo "bar"]) (seq #js [:baz "woz"])}]
43+
(is (entries (seq (.-value (.next eiter)))))
44+
(is (entries (seq (.-value (.next eiter))))))
45+
(is (.-done (.next eiter)))))
46+
(let [iter (.values {:foo "bar" :baz "woz"})]
47+
(testing "map value iteration"
48+
(is (#{"bar" "woz"} (.-value (.next iter))))
49+
(is (#{"bar" "woz"} (.-value (.next iter))))
50+
(is (.-done (.next iter)))))
51+
(is (.has #{:cat :bird :dog} :bird))
52+
(let [iter (.keys #{:cat :bird :dog})]
53+
(testing "set key iteration"
54+
(is (#{:cat :bird :dog} (.-value (.next iter))))
55+
(is (#{:cat :bird :dog} (.-value (.next iter))))
56+
(is (#{:cat :bird :dog} (.-value (.next iter))))
57+
(is (.-done (.next iter)))))
58+
(let [iter (.entries #{:cat :bird :dog})]
59+
(testing "set entry iteration"
60+
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
61+
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
62+
(is (#{[:cat :cat] [:bird :bird] [:dog :dog]} (seq (.-value (.next iter)))))
63+
(is (.-done (.next iter)))))
64+
(let [iter (.values #{:cat :bird :dog})]
65+
(testing "set value iteration"
66+
(is (#{:cat :bird :dog} (.-value (.next iter))))
67+
(is (#{:cat :bird :dog} (.-value (.next iter))))
68+
(is (#{:cat :bird :dog} (.-value (.next iter))))
69+
(is (.-done (.next iter)))))
70+
))

src/test/cljs/test_runner.cljs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
[cljs.collections-test]
1818
[cljs.hashing-test]
1919
[cljs.core-test :as core-test]
20+
[cljs.chunked-seq]
21+
[cljs.interop-test]
2022
[cljs.reader-test]
2123
[cljs.binding-test]
2224
[cljs.parse-test]
@@ -77,6 +79,8 @@
7779
'cljs.collections-test
7880
'cljs.hashing-test
7981
'cljs.core-test
82+
'cljs.chunked-seq
83+
'cljs.interop-test
8084
'cljs.reader-test
8185
'cljs.parse-test
8286
'clojure.set-test

0 commit comments

Comments
 (0)