From 5aab6add535a3d1516baeb8e9c2f81f0589fa8d7 Mon Sep 17 00:00:00 2001 From: Antoine Belvire Date: Fri, 7 Nov 2025 21:40:46 +0100 Subject: [PATCH] Test vec This closes #563. --- test/clojure/core_test/vec.cljc | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/clojure/core_test/vec.cljc diff --git a/test/clojure/core_test/vec.cljc b/test/clojure/core_test/vec.cljc new file mode 100644 index 0000000..3f17ee6 --- /dev/null +++ b/test/clojure/core_test/vec.cljc @@ -0,0 +1,37 @@ +(ns clojure.core-test.vec + (:require [clojure.test :refer [deftest testing is are]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + +(when-var-exists vec + (deftest test-vec + + (testing "vec coll" + (are [expected coll] (= expected (vec coll)) + [] nil + [] '() + [] [] + [] #{} + [] {} + [] "" + [nil nil nil] '(nil nil nil) + [1 2 3] '(1 2 3) + [1 2 3] [1 2 3] + [1 2 3] (sorted-set 1 2 3) + [1 2 3] (range 1 4) + [[:a 1] [:b 2]] {:a 1 :b 2} + [\a \b \c] "abc")) + + #?(:cljr "cljr does not alias array" + :default (testing "array aliasing" + (let [arr (to-array [1 2 3]), v (vec arr)] + (is (= [1 2 3] v)) + (aset arr 0 -1) + (is (= [-1 2 3] v))))) + + (testing "bad shape" + (are [arg] (thrown? #?(:cljs js/Error :default Exception) (vec arg)) + 42 + 3.14 + true + :a + (transient [])))))