From 3318f6ab4134999079ce990a448cef8c4ee1f139 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Thu, 13 Nov 2025 11:01:44 -0500 Subject: [PATCH 01/51] Cleanup --- templates/test-template.cljc | 2 +- test/clojure/core_test/abs.cljc | 4 ++-- test/clojure/core_test/aclone.cljc | 2 +- test/clojure/core_test/add_watch.cljc | 2 +- test/clojure/core_test/and.cljc | 4 ++-- test/clojure/core_test/any_qmark.cljc | 4 ++-- test/clojure/core_test/assoc.cljc | 2 +- test/clojure/core_test/assoc_bang.cljc | 2 +- test/clojure/core_test/associative_qmark.cljc | 2 +- test/clojure/core_test/atom.cljc | 2 +- test/clojure/core_test/bigdec.cljc | 6 +++--- test/clojure/core_test/bigint.cljc | 6 +++--- test/clojure/core_test/binding.cljc | 4 ++-- test/clojure/core_test/bit_and.cljc | 4 ++-- test/clojure/core_test/bit_and_not.cljc | 6 +++--- test/clojure/core_test/bit_clear.cljc | 10 +++++----- test/clojure/core_test/bit_flip.cljc | 10 +++++----- test/clojure/core_test/bit_not.cljc | 8 ++++---- test/clojure/core_test/bit_or.cljc | 10 +++++----- test/clojure/core_test/bit_set.cljc | 10 +++++----- test/clojure/core_test/bit_shift_left.cljc | 10 +++++----- test/clojure/core_test/bit_shift_right.cljc | 10 +++++----- 22 files changed, 60 insertions(+), 60 deletions(-) diff --git a/templates/test-template.cljc b/templates/test-template.cljc index edb65346..3bca15d6 100644 --- a/templates/test-template.cljc +++ b/templates/test-template.cljc @@ -1,6 +1,6 @@ (ns {{base-ns}}-test.{{ns-suffix}} (:require {% if not base-ns = "clojure.core" %}{{base-ns}} - {% endif %}[clojure.test :as t :refer [deftest testing is are]] + {% endif %}[clojure.test :as t :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists {% if not base-ns = "clojure.core" %}{{base-ns}}/{% endif %}{{sym-name}} diff --git a/test/clojure/core_test/abs.cljc b/test/clojure/core_test/abs.cljc index 29703a54..c41e54ef 100644 --- a/test/clojure/core_test/abs.cljc +++ b/test/clojure/core_test/abs.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.abs - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest testing is]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) @@ -21,7 +21,7 @@ :default [-1/5 1/5])) (is (NaN? (abs ##NaN))) - #?(:cljr (is (thrown? System.OverflowException (abs r/min-int)))) + #?(:cljr (is (thrown? System.OverflowException (abs r/min-int)))) #?(:cljs (is (zero? (abs nil))) :default (is (thrown? #?(:clj Exception :cljr Exception) (abs nil))))) diff --git a/test/clojure/core_test/aclone.cljc b/test/clojure/core_test/aclone.cljc index 9b4e6867..cddab4f4 100644 --- a/test/clojure/core_test/aclone.cljc +++ b/test/clojure/core_test/aclone.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.aclone - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/aclone diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 37710480..9c04cfcb 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.add-watch - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) (when-var-exists clojure.core/add-watch diff --git a/test/clojure/core_test/and.cljc b/test/clojure/core_test/and.cljc index dcfd9ea5..3161f4ab 100644 --- a/test/clojure/core_test/and.cljc +++ b/test/clojure/core_test/and.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.and - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/and (deftest test-and diff --git a/test/clojure/core_test/any_qmark.cljc b/test/clojure/core_test/any_qmark.cljc index 7434f294..5e06cfef 100644 --- a/test/clojure/core_test/any_qmark.cljc +++ b/test/clojure/core_test/any_qmark.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.any-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/any? (deftest test-any? diff --git a/test/clojure/core_test/assoc.cljc b/test/clojure/core_test/assoc.cljc index ec078e31..38a8ba3d 100644 --- a/test/clojure/core_test/assoc.cljc +++ b/test/clojure/core_test/assoc.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.assoc - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists assoc diff --git a/test/clojure/core_test/assoc_bang.cljc b/test/clojure/core_test/assoc_bang.cljc index fe2b8fea..a1d87ba0 100644 --- a/test/clojure/core_test/assoc_bang.cljc +++ b/test/clojure/core_test/assoc_bang.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.assoc-bang - (:require [clojure.test :refer [deftest testing are]] + (:require [clojure.test :refer [are deftest testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists assoc! diff --git a/test/clojure/core_test/associative_qmark.cljc b/test/clojure/core_test/associative_qmark.cljc index 86a5abac..3cd01f1f 100644 --- a/test/clojure/core_test/associative_qmark.cljc +++ b/test/clojure/core_test/associative_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.associative-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/associative? diff --git a/test/clojure/core_test/atom.cljc b/test/clojure/core_test/atom.cljc index 6687bbde..ef48953d 100644 --- a/test/clojure/core_test/atom.cljc +++ b/test/clojure/core_test/atom.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.atom (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] + [clojure.test :as t :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/atom diff --git a/test/clojure/core_test/bigdec.cljc b/test/clojure/core_test/bigdec.cljc index 848104d1..5d08a68d 100644 --- a/test/clojure/core_test/bigdec.cljc +++ b/test/clojure/core_test/bigdec.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.bigdec - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is are]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bigdec +(when-var-exists bigdec (deftest test-bigdec (are [expected x] (= expected (bigdec x)) 1M 1 diff --git a/test/clojure/core_test/bigint.cljc b/test/clojure/core_test/bigint.cljc index f8eb0458..dcb16ac1 100644 --- a/test/clojure/core_test/bigint.cljc +++ b/test/clojure/core_test/bigint.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.bigint - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bigint +(when-var-exists bigint (deftest test-bigint (are [expected x] (= expected (bigint x)) 1N 1 @@ -11,7 +11,7 @@ -1N -1 #?@(:cljs [] :clj [179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N r/max-double] - :clj [179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N r/max-double]) + :default [179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N r/max-double]) 1N 1.0 0N 0.0 -1N -1.0 diff --git a/test/clojure/core_test/binding.cljc b/test/clojure/core_test/binding.cljc index 873e743e..a6e9f984 100644 --- a/test/clojure/core_test/binding.cljc +++ b/test/clojure/core_test/binding.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.binding (:require [clojure.test :as t] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/binding +(when-var-exists binding (def ^:dynamic *x* :unset) (def ^:dynamic *y* nil) (defn ^:dynamic *f* [x] (inc x)) diff --git a/test/clojure/core_test/bit_and.cljc b/test/clojure/core_test/bit_and.cljc index e4a2df8d..bd0ab6d6 100644 --- a/test/clojure/core_test/bit_and.cljc +++ b/test/clojure/core_test/bit_and.cljc @@ -1,7 +1,7 @@ (ns clojure.core-test.bit-and - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/bit-and (deftest test-bit-and diff --git a/test/clojure/core_test/bit_and_not.cljc b/test/clojure/core_test/bit_and_not.cljc index db61eefa..5768c3b9 100644 --- a/test/clojure/core_test/bit_and_not.cljc +++ b/test/clojure/core_test/bit_and_not.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.bit-and-not - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-and-not +(when-var-exists bit-and-not (deftest test-bit-and-not #?(:cljs (is (= 0 (bit-and-not nil 1))) :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-and-not nil 1)))) diff --git a/test/clojure/core_test/bit_clear.cljc b/test/clojure/core_test/bit_clear.cljc index f461f68d..21423f20 100644 --- a/test/clojure/core_test/bit_clear.cljc +++ b/test/clojure/core_test/bit_clear.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-clear - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-clear +(when-var-exists bit-clear (deftest test-bit-clear #?(:cljs (is (= 0 (bit-clear nil 1))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-clear nil 1)))) + :default (is (thrown? Exception (bit-clear nil 1)))) #?(:cljs (is (= 0 (bit-clear 1 nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-clear 1 nil)))) + :default (is (thrown? Exception (bit-clear 1 nil)))) (are [ex a b] (= ex (bit-clear a b)) 3 11 3))) diff --git a/test/clojure/core_test/bit_flip.cljc b/test/clojure/core_test/bit_flip.cljc index 1720b09a..774ef1ba 100644 --- a/test/clojure/core_test/bit_flip.cljc +++ b/test/clojure/core_test/bit_flip.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-flip - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-flip +(when-var-exists bit-flip (deftest test-bit-flip #?(:cljs (is (= 2 (bit-flip nil 1))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-flip nil 1)))) + :default (is (thrown? Exception (bit-flip nil 1)))) #?(:cljs (is (= 0 (bit-flip 1 nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-flip 1 nil)))) + :default (is (thrown? Exception (bit-flip 1 nil)))) (are [ex a b] (= ex (bit-flip a b)) 2r1111 2r1011 2 diff --git a/test/clojure/core_test/bit_not.cljc b/test/clojure/core_test/bit_not.cljc index ed56d50d..085e4269 100644 --- a/test/clojure/core_test/bit_not.cljc +++ b/test/clojure/core_test/bit_not.cljc @@ -1,11 +1,11 @@ (ns clojure.core-test.bit-not - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-not +(when-var-exists bit-not (deftest test-bit-not #?(:cljs (is (= -1 (bit-not nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-not nil)))) + :default (is (thrown? Exception (bit-not nil)))) (are [ex a] (= ex (bit-not a)) -2r1000 2r0111 diff --git a/test/clojure/core_test/bit_or.cljc b/test/clojure/core_test/bit_or.cljc index 9c259303..a124c73c 100644 --- a/test/clojure/core_test/bit_or.cljc +++ b/test/clojure/core_test/bit_or.cljc @@ -1,14 +1,14 @@ (ns clojure.core-test.bit-or - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-or +(when-var-exists bit-or (deftest test-bit-or #?(:cljs (is (bit-or nil 1)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-or nil 1)))) + :default (is (thrown? Exception (bit-or nil 1)))) #?(:cljs (is (bit-or 1 nil)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-or 1 nil)))) + :default (is (thrown? Exception (bit-or 1 nil)))) (are [ex a b] (= ex (bit-or a b)) 2r1101 2r1100 2r1001 diff --git a/test/clojure/core_test/bit_set.cljc b/test/clojure/core_test/bit_set.cljc index fc0b504a..0b17d8dc 100644 --- a/test/clojure/core_test/bit_set.cljc +++ b/test/clojure/core_test/bit_set.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-set - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-set +(when-var-exists bit-set (deftest test-bit-set #?(:cljs (is (bit-set nil 1)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-set nil 1)))) + :default (is (thrown? Exception (bit-set nil 1)))) #?(:cljs (is (bit-set 1 nil)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-set 1 nil)))) + :default (is (thrown? Exception (bit-set 1 nil)))) (are [ex a b] (= ex (bit-set a b)) 2r1111 2r1011 2 diff --git a/test/clojure/core_test/bit_shift_left.cljc b/test/clojure/core_test/bit_shift_left.cljc index 45e7fcfb..ea29bf40 100644 --- a/test/clojure/core_test/bit_shift_left.cljc +++ b/test/clojure/core_test/bit_shift_left.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-shift-left - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-shift-left +(when-var-exists bit-shift-left (deftest test-bit-shift-left #?(:cljs (is (= 0 (bit-shift-left nil 1))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-shift-left nil 1)))) + :default (is (thrown? Exception (bit-shift-left nil 1)))) #?(:cljs (is (= 1 (bit-shift-left 1 nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-shift-left 1 nil)))) + :default (is (thrown? Exception (bit-shift-left 1 nil)))) (are [ex a b] (= ex (bit-shift-left a b)) 1024 1 10 diff --git a/test/clojure/core_test/bit_shift_right.cljc b/test/clojure/core_test/bit_shift_right.cljc index 99b53b6b..e244dfdc 100644 --- a/test/clojure/core_test/bit_shift_right.cljc +++ b/test/clojure/core_test/bit_shift_right.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-shift-right - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-shift-right +(when-var-exists bit-shift-right (deftest test-bit-shift-right #?(:cljs (is (bit-shift-right nil 1)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-shift-right nil 1)))) + :default (is (thrown? Exception (bit-shift-right nil 1)))) #?(:cljs (is (bit-shift-right 1 nil)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-shift-right 1 nil)))) + :default (is (thrown? Exception (bit-shift-right 1 nil)))) (are [ex a b] (= ex (bit-shift-right a b)) 2r1101 2r1101 0 From a34db21bd6525aa46c58e00985af3490a419133c Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Thu, 13 Nov 2025 11:08:04 -0500 Subject: [PATCH 02/51] More cleanup --- test/clojure/core_test/bit_test.cljc | 10 +++--- test/clojure/core_test/bit_xor.cljc | 49 ++++++++++++++++++++-------- test/clojure/core_test/boolean.cljc | 19 ++++++----- 3 files changed, 51 insertions(+), 27 deletions(-) diff --git a/test/clojure/core_test/bit_test.cljc b/test/clojure/core_test/bit_test.cljc index 82a6e69a..ffb57aaa 100644 --- a/test/clojure/core_test/bit_test.cljc +++ b/test/clojure/core_test/bit_test.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.bit-test - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-test +(when-var-exists bit-test (deftest test-bit-test #?(:cljs (is (= false (bit-test nil 1))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-test nil 1)))) + :default (is (thrown? Exception (bit-test nil 1)))) #?(:cljs (is (= true (bit-test 1 nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-test 1 nil)))) + :default (is (thrown? Exception (bit-test 1 nil)))) (are [ex a b] (= ex (bit-test a b)) true 2r1001 0 diff --git a/test/clojure/core_test/bit_xor.cljc b/test/clojure/core_test/bit_xor.cljc index 871136c7..2e3cd59c 100644 --- a/test/clojure/core_test/bit_xor.cljc +++ b/test/clojure/core_test/bit_xor.cljc @@ -1,21 +1,44 @@ (ns clojure.core-test.bit-xor - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/bit-xor +(when-var-exists bit-xor (deftest test-bit-xor #?(:cljs (is (bit-xor nil 1)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-xor nil 1)))) + :default (is (thrown? Exception (bit-xor nil 1)))) #?(:cljs (is (bit-xor 1 nil)) - :default (is (thrown? #?(:clj Exception :cljr Exception) (bit-xor 1 nil)))) + :default (is (thrown? Exception (bit-xor 1 nil)))) (are [ex a b] (= ex (bit-xor a b)) - 2r0101 2r1100 2r1001 - #?(:cljs -1 :default r/all-ones-int) r/all-ones-int 0 - #?(:cljs -1 :default r/all-ones-int) 0 r/all-ones-int - 0 r/all-ones-int r/all-ones-int - r/full-width-checker-pos r/full-width-checker-pos 0 - 0 r/full-width-checker-pos r/full-width-checker-pos - #?(:cljs -1431655766 :default r/full-width-checker-neg) r/full-width-checker-pos r/all-ones-int - #?(:cljs -1 :default r/all-ones-int) r/full-width-checker-pos r/full-width-checker-neg))) + 2r0101 + 2r1100 + 2r1001 + + #?(:cljs -1 :default r/all-ones-int) + r/all-ones-int + 0 + + #?(:cljs -1 :default r/all-ones-int) + 0 + r/all-ones-int + + 0 + r/all-ones-int + r/all-ones-int + + r/full-width-checker-pos + r/full-width-checker-pos + 0 + + 0 + r/full-width-checker-pos + r/full-width-checker-pos + + #?(:cljs -1431655766 :default r/full-width-checker-neg) + r/full-width-checker-pos + r/all-ones-int + + #?(:cljs -1 :default r/all-ones-int) + r/full-width-checker-pos + r/full-width-checker-neg))) diff --git a/test/clojure/core_test/boolean.cljc b/test/clojure/core_test/boolean.cljc index 14ab6cfc..1ab53088 100644 --- a/test/clojure/core_test/boolean.cljc +++ b/test/clojure/core_test/boolean.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.boolean - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/boolean +(when-var-exists boolean (deftest test-boolean (are [expected x] (= expected (boolean x)) true 0 @@ -28,11 +28,6 @@ true 0N true 1N true -1N - #?@(:cljs [] - :default - [true 0/2 - true 1/2 - true -1/2]) true 0.0M true 1.0M true -1.0M @@ -57,4 +52,10 @@ true :0 true :1 true :-1 - true 'a-sym))) + true 'a-sym + + #?@(:cljs [] + :default + [true 0/2 + true 1/2 + true -1/2])))) From 5d2962b2cced14900463e185409b7f52d4c9484f Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Thu, 13 Nov 2025 14:51:36 -0500 Subject: [PATCH 03/51] Fix cljr --- test/clojure/core_test/bigint.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/bigint.cljc b/test/clojure/core_test/bigint.cljc index dcb16ac1..7a5b1690 100644 --- a/test/clojure/core_test/bigint.cljc +++ b/test/clojure/core_test/bigint.cljc @@ -10,7 +10,7 @@ 0N 0 -1N -1 #?@(:cljs [] - :clj [179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N r/max-double] + :cljr [179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368N r/max-double] :default [179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N r/max-double]) 1N 1.0 0N 0.0 From c0d160c9b6f2425fc00f55fc605e322fca48c8f5 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Thu, 13 Nov 2025 15:07:13 -0500 Subject: [PATCH 04/51] Next round --- test/clojure/core_test/boolean_qmark.cljc | 12 +++---- test/clojure/core_test/bound_fn.cljc | 40 +++++++++++------------ test/clojure/core_test/bound_fn_star.cljc | 40 +++++++++++------------ test/clojure/core_test/butlast.cljc | 6 ++-- test/clojure/core_test/byte.cljc | 14 ++++---- test/clojure/core_test/case.cljc | 18 +++++----- 6 files changed, 65 insertions(+), 65 deletions(-) diff --git a/test/clojure/core_test/boolean_qmark.cljc b/test/clojure/core_test/boolean_qmark.cljc index c0f67e3b..9e24ae08 100644 --- a/test/clojure/core_test/boolean_qmark.cljc +++ b/test/clojure/core_test/boolean_qmark.cljc @@ -1,10 +1,10 @@ (ns clojure.core-test.boolean-qmark (:require clojure.core [clojure.core-test.number-range :as r] - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/boolean? +(when-var-exists boolean? (deftest test-boolean? (testing "common" (are [expected x] (= expected (boolean? x)) @@ -29,6 +29,6 @@ #?@(:cljs [true (js/Boolean true) true (js/Boolean false) true (js/Boolean "yes")] - :clj [true (new Boolean "true") - true (new Boolean "false") - true (new Boolean "yes")]))))) + :default [true (new Boolean "true") + true (new Boolean "false") + true (new Boolean "yes")]))))) diff --git a/test/clojure/core_test/bound_fn.cljc b/test/clojure/core_test/bound_fn.cljc index 38a4e1c9..ae76b3dd 100644 --- a/test/clojure/core_test/bound_fn.cljc +++ b/test/clojure/core_test/bound_fn.cljc @@ -1,51 +1,51 @@ (ns clojure.core-test.bound-fn - (:require [clojure.test :as t] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (def ^:dynamic *x* :unset) -(when-var-exists clojure.core/bound-fn - (t/deftest test-bound-fn - (t/testing "base case" +(when-var-exists bound-fn + (deftest test-bound-fn + (testing "base case" (let [f (bound-fn [] *x*)] - (t/is (= (f) :unset) "picks up dynamic vars") + (is (= (f) :unset) "picks up dynamic vars") (binding [*x* :set] - (t/is (= (f) :set) "And tracks their changes")))) + (is (= (f) :set) "And tracks their changes")))) - (t/testing "Common cases" + (testing "Common cases" (binding [*x* :set] (let [f (bound-fn [] *x*)] (binding [*x* :set-again] - (t/is (= (f) :set) "bound-fn stores values"))))) + (is (= (f) :set) "bound-fn stores values"))))) - (t/testing "Infinite seqs" + (testing "Infinite seqs" (binding [*x* (range)] (let [f (bound-fn [] *x*)] (binding [*x* (drop 50 (range))] - (t/is (= (range 10) + (is (= (range 10) (take 10 (f)) (take 10 (f))) "infinite seqs work"))))) - (t/testing "Nested cases" + (testing "Nested cases" (binding [*x* :first!] (let [f (bound-fn [] *x*)] (binding [*x* :second!] (let [f (bound-fn [] [(f) *x*])] - (t/is (= (f) [:first! :second!]) "Nested bound functions work as expected."))))) + (is (= (f) [:first! :second!]) "Nested bound functions work as expected."))))) (let [f (fn [] (binding [*x* :inside-f] (bound-fn [] *x*)))] (binding [*x* :outside-f] - (t/is (= ((f)) :inside-f) "bound-fn as result preserves initial bindings")))) + (is (= ((f)) :inside-f) "bound-fn as result preserves initial bindings")))) - (t/testing "Threaded/future cases" - (let [f (bound-fn [] *x*)] - (let [fut (future (f))] - (binding [*x* :here] - (t/is (= @fut :unset) "bound-fn stays bound even in other thread")))) + (testing "Threaded/future cases" + (let [f (bound-fn [] *x*) + fut (future (f))] + (binding [*x* :here] + (is (= @fut :unset) "bound-fn stays bound even in other thread")))) (binding [*x* :caller] (let [f (future (binding [*x* :callee] (future (bound-fn [] *x*))))] (binding [*x* :derefer] (let [derefed-f @f] - (t/is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) + (is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) diff --git a/test/clojure/core_test/bound_fn_star.cljc b/test/clojure/core_test/bound_fn_star.cljc index da3c553b..7940179c 100644 --- a/test/clojure/core_test/bound_fn_star.cljc +++ b/test/clojure/core_test/bound_fn_star.cljc @@ -1,53 +1,53 @@ (ns clojure.core-test.bound-fn-star - (:require [clojure.test :as t] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (def ^:dynamic *x* :unset) (defn test-fn [] *x*) -(when-var-exists clojure.core/bound-fn* - (t/deftest test-bound-fn* - (t/testing "base case" +(when-var-exists bound-fn* + (deftest test-bound-fn* + (testing "base case" (let [f (bound-fn* test-fn)] - (t/is (= (f) :unset) "picks up dynamic vars") + (is (= (f) :unset) "picks up dynamic vars") (binding [*x* :set] - (t/is (= (f) :set) "And tracks their changes")))) + (is (= (f) :set) "And tracks their changes")))) - (t/testing "Common cases" + (testing "Common cases" (binding [*x* :set] (let [f (bound-fn* test-fn)] (binding [*x* :set-again] - (t/is (= (f) :set) "bound-fn stores values"))))) + (is (= (f) :set) "bound-fn stores values"))))) - (t/testing "Infinite seqs" + (testing "Infinite seqs" (binding [*x* (range)] (let [f (bound-fn* test-fn)] (binding [*x* (drop 50 (range))] - (t/is (= (range 10) + (is (= (range 10) (take 10 (f)) (take 10 (f))) "infinite seqs work"))))) - (t/testing "Nested cases" + (testing "Nested cases" (binding [*x* :first!] (let [f (bound-fn* test-fn)] (binding [*x* :second!] (let [f (fn [] [(f) ((bound-fn* test-fn))])] - (t/is (= (f) [:first! :second!]) "Nested bound functions work as expected."))))) + (is (= (f) [:first! :second!]) "Nested bound functions work as expected."))))) (let [f (fn [] (binding [*x* :inside-f] (bound-fn* test-fn)))] (binding [*x* :outside-f] - (t/is (= ((f)) :inside-f) "bound-fn as result preserves initial bindings")))) + (is (= ((f)) :inside-f) "bound-fn as result preserves initial bindings")))) - (t/testing "Threaded/future cases" - (let [f (bound-fn* test-fn)] - (let [fut (future (f))] - (binding [*x* :here] - (t/is (= @fut :unset) "bound-fn stays bound even in other thread")))) + (testing "Threaded/future cases" + (let [f (bound-fn* test-fn) + fut (future (f))] + (binding [*x* :here] + (is (= @fut :unset) "bound-fn stays bound even in other thread")))) (binding [*x* :caller] (let [f (future (binding [*x* :callee] (future (bound-fn* test-fn))))] (binding [*x* :derefer] (let [derefed-f @f] - (t/is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) + (is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) diff --git a/test/clojure/core_test/butlast.cljc b/test/clojure/core_test/butlast.cljc index 9bb38c5d..95537267 100644 --- a/test/clojure/core_test/butlast.cljc +++ b/test/clojure/core_test/butlast.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.butlast - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/butlast +(when-var-exists butlast (deftest test-butlast (are [expected x] (= expected (butlast x)) nil (range 1) diff --git a/test/clojure/core_test/byte.cljc b/test/clojure/core_test/byte.cljc index d788df1b..d2466aca 100644 --- a/test/clojure/core_test/byte.cljc +++ b/test/clojure/core_test/byte.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.byte - (:require [clojure.test :as t :refer [deftest is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/byte +(when-var-exists byte (deftest test-byte ;; There is no platform independent predicate to test for a ;; byte (e.g., `byte?`). In ClojureJVM, it's an instance of @@ -11,10 +11,10 @@ ;; test whether it's a fixed-length integer of some sort. (is (int? (byte 0))) #?(:clj (is (instance? java.lang.Byte (byte 0))) - :cljr (is (instance? System.Byte (byte 0)))) + :cljr (is (instance? System.Byte (byte 0)))) ;; Check conversions and rounding from other numeric types - ;; In ClojureCLR, Byte is unsigned, so we have to wipe all tests + ;; In ClojureCLR, Byte is unsigned, so we have to wipe all tests ;; of negative values (are [expected x] (= expected (byte x)) #?@(:cljr [] :default [-128 -128]) @@ -56,8 +56,8 @@ (is (= :0 (byte :0))) (is (= [0] (byte [0]))) (is (= nil (byte nil)))] - :cljr - [ ;; `byte` throws outside the range of 127 ... -128. + :cljr + [ ;; `byte` throws outside the range of 127 ... -128. (is (thrown? Exception (byte -128.000001))) (is (thrown? Exception (byte -129))) (is (= 128 (byte 128))) @@ -67,7 +67,7 @@ (is (thrown? Exception (byte :0))) (is (thrown? Exception (byte [0]))) (is (thrown? Exception (byte nil)))] - :bb [] ;; byte constructions goes via boxed argument + :bb [] ;; byte constructions goes via boxed argument :default [ ;; `byte` throws outside the range of 127 ... -128. (is (thrown? Exception (byte -128.000001))) diff --git a/test/clojure/core_test/case.cljc b/test/clojure/core_test/case.cljc index 9ad16a50..077d8a5d 100644 --- a/test/clojure/core_test/case.cljc +++ b/test/clojure/core_test/case.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.case - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/case +(when-var-exists case ;; Note that this eclectic group of test value types tests the :hashes path in Clojure (defn positive-tests @@ -18,13 +18,13 @@ #?@(:cljs [] :default [1/2 :ratio-result]) - \a :character-result ; CLJS reader will convert \a to "a" + \a :character-result ; CLJS reader will convert \a to "a" true :boolean-true-result false :boolean-false-result nil :nil-result ##Inf :inf-result ##-Inf :negative-inf-result - #?(:cljs ('(list of syms)) ; CLJS wants to eval the inner list, even though it shouldn't + #?(:cljs ('(list of syms)) ; CLJS wants to eval the inner list, even though it shouldn't :default ((list of syms))) :list-of-syms-result ; if you need to match a list, wrap it in another list [:vec :of :kws] :vec-of-kws-result {:a :map :of :kws} :map-of-kws-result @@ -74,7 +74,7 @@ 'sym :sym-result :kw :kw-result "string" :string-result - #?@(:cljs ; everything is a double in CLJS + #?@(:cljs ; all numbers are double-precision floating point in CLJS [1 :integer-result 1.0 :integer-result 1N :integer-result @@ -111,7 +111,7 @@ #?@(:cljs [] :default [1/2 :ratio-result]) - \a :character-result ; CLJS reader will convert \a to "a" + \a :character-result ; CLJS reader will convert \a to "a" #?@(:cljs ["a" :character-result] :default []) ; CLJS matches this to `\a` true :boolean-true-result false :boolean-false-result @@ -171,5 +171,5 @@ 'quote :quote-foo-result 'foo :quote-foo-result) - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (negative-tests ##NaN))) - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (negative-tests :something-not-found)))))) + (is (thrown? #?(:cljs :default :default Exception) (negative-tests ##NaN))) + (is (thrown? #?(:cljs :default :default Exception) (negative-tests :something-not-found)))))) From f22abf63c3670e6d927b676328131fd6f117fec5 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Thu, 13 Nov 2025 15:12:47 -0500 Subject: [PATCH 05/51] More! --- test/clojure/core_test/char.cljc | 10 +++++----- test/clojure/core_test/char_qmark.cljc | 10 +++++----- test/clojure/core_test/coll_qmark.cljc | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test/clojure/core_test/char.cljc b/test/clojure/core_test/char.cljc index b1653cc8..5645d137 100644 --- a/test/clojure/core_test/char.cljc +++ b/test/clojure/core_test/char.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.char - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/char +(when-var-exists char (deftest test-char (are [expected x] (= expected (char x)) ;; Assumes ASCII / Unicode @@ -13,5 +13,5 @@ ;; TODO: Add Unicode tests ) - #?(:cljs nil :default (is (thrown? #?(:clj Exception :cljr Exception) (char -1)))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (char nil))))) + #?(:cljs nil :default (is (thrown? Exception (char -1)))) + (is (thrown? #?(:cljs :default Exception) (char nil))))) diff --git a/test/clojure/core_test/char_qmark.cljc b/test/clojure/core_test/char_qmark.cljc index cb2d4333..0b4dfc4d 100644 --- a/test/clojure/core_test/char_qmark.cljc +++ b/test/clojure/core_test/char_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.char-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/char? +(when-var-exists char? (deftest test-char? (are [expected x] (= expected (char? x)) false 0 @@ -28,7 +28,7 @@ false 0N false 1N false -1N - #?@(:cljs [] ; cljs doesn't have ratios + #?@(:cljs [] ; cljs doesn't have ratios :default [false 0/2 false 1/2 @@ -40,7 +40,7 @@ false true false false false "a string" - #?@(:cljs ; In cljs, chars are single char strings + #?@(:cljs ; In cljs, chars are single element strings [true "0" true "1"] :default diff --git a/test/clojure/core_test/coll_qmark.cljc b/test/clojure/core_test/coll_qmark.cljc index e5c3405d..0e15181b 100644 --- a/test/clojure/core_test/coll_qmark.cljc +++ b/test/clojure/core_test/coll_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.coll-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/coll? +(when-var-exists coll? (deftest test-coll? (are [expected x] (= expected (coll? x)) true [1 2 3] From 973c7ed4665510256d903f7d2ebbd7db630a1c5a Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 11:09:03 -0500 Subject: [PATCH 06/51] Remove superfluous paren --- test/clojure/core_test/bound_fn.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/bound_fn.cljc b/test/clojure/core_test/bound_fn.cljc index ae76b3dd..24fca694 100644 --- a/test/clojure/core_test/bound_fn.cljc +++ b/test/clojure/core_test/bound_fn.cljc @@ -48,4 +48,4 @@ (future (bound-fn [] *x*))))] (binding [*x* :derefer] (let [derefed-f @f] - (is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) + (is (= :callee (@derefed-f)) "Binding in futures preserved."))))))) From 6c11aa6e1d47022fc883edf94f227dc5d2b5a486 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 11:35:59 -0500 Subject: [PATCH 07/51] WIP --- test/clojure/core_test/compare.cljc | 67 +++++++++++----------- test/clojure/core_test/conj.cljc | 8 +-- test/clojure/core_test/cons.cljc | 2 +- test/clojure/core_test/constantly.cljc | 7 +-- test/clojure/core_test/contains_qmark.cljc | 14 ++--- test/clojure/core_test/count.cljc | 8 +-- test/clojure/core_test/counted_qmark.cljc | 6 +- test/clojure/core_test/dec.cljc | 18 +++--- test/clojure/core_test/decimal_qmark.cljc | 25 ++++---- test/clojure/core_test/denominator.cljc | 20 +++---- test/clojure/core_test/disj.cljc | 2 +- test/clojure/core_test/disj_bang.cljc | 2 +- test/clojure/core_test/dissoc.cljc | 2 +- test/clojure/core_test/dissoc_bang.cljc | 2 +- test/clojure/core_test/doseq.cljc | 8 +-- test/clojure/core_test/double.cljc | 12 ++-- test/clojure/core_test/double_qmark.cljc | 41 ++++++------- test/clojure/core_test/drop.cljc | 10 ++-- test/clojure/core_test/drop_last.cljc | 8 +-- 19 files changed, 132 insertions(+), 130 deletions(-) diff --git a/test/clojure/core_test/compare.cljc b/test/clojure/core_test/compare.cljc index df13eff8..f34fb3ee 100644 --- a/test/clojure/core_test/compare.cljc +++ b/test/clojure/core_test/compare.cljc @@ -1,45 +1,46 @@ (ns clojure.core-test.compare - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/compare +(when-var-exists compare (deftest test-compare (testing "numeric-types" (are [pred args] (pred (compare (first args) (second args))) - neg? [0 10] + neg? [0 10] zero? [0 0] - pos? [0 -100N] + pos? [0 -100N] zero? [1 1.0] + neg? [0 0x01] + neg? [0 2r01] + pos? [1 nil] #?@(:cljs [] :default - [neg? [1 100/3]]) - neg? [0 0x01] - neg? [0 2r01] - pos? [1 nil]) + [neg? [1 100/3]])) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare 1 [])))) + (is (thrown? #?(:cljs :default :default Exception) (compare 1 [])))) (testing "lexical-types" (are [pred args] (pred (compare (first args) (second args))) - neg? [\a \b] - zero? [\0 \0] - pos? [\z \a] - neg? ["cat" "dog"] - neg? ['cat 'dog] - neg? [:cat :dog] - zero? [:dog :dog] - neg? [:cat :animal/cat] + neg? [\a \b] + zero? [\0 \0] + pos? [\z \a] + neg? ["cat" "dog"] + neg? ['cat 'dog] + neg? [:cat :dog] + zero? [:dog :dog] + neg? [:cat :animal/cat] pos? ['a nil]) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception :cljr Exception) (compare "a" []))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception :cljr Exception) (compare "cat" '(\c \a \t))))) + (is (thrown? #?(:cljs :default :default Exception) (compare "a" []))) + (is (thrown? #?(:cljs :default :default Exception) (compare "cat" '(\c \a \t))))) (testing "collection-types" (are [pred args] (pred (compare (first args) (second args))) zero? [[] []] - pos? [[3] [1]] - neg? [[] [1 2]] - neg? [[] [[]]] + pos? [[3] [1]] + neg? [[] [1 2]] + neg? [[] [[]]] + pos? [[] nil] ;; Sets, maps, and lists don't implement java.lang.Comparable, ;; so just comment these out for now. TODO: make decision as to ;; what we want to do with these tests. @@ -50,15 +51,15 @@ ;; zero? [{} (hash-map)] ;; zero? [{} (array-map)] ;; zero? ['() '()] - pos? [[] nil]) + ) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare [] '()))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare [1] [[]]))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare [] {}))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare [] #{}))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare #{} (sorted-set)))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare #{1} #{1}))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare {1 2} {1 2}))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare (range 5) (range 5)))) + (is (thrown? #?(:cljs :default :default Exception) (compare [] '()))) + (is (thrown? #?(:cljs :default :default Exception) (compare [1] [[]]))) + (is (thrown? #?(:cljs :default :default Exception) (compare [] {}))) + (is (thrown? #?(:cljs :default :default Exception) (compare [] #{}))) + (is (thrown? #?(:cljs :default :default Exception) (compare #{} (sorted-set)))) + (is (thrown? #?(:cljs :default :default Exception) (compare #{1} #{1}))) + (is (thrown? #?(:cljs :default :default Exception) (compare {1 2} {1 2}))) + (is (thrown? #?(:cljs :default :default Exception) (compare (range 5) (range 5)))) ;; Clojurescript goes into an infinite loop of some sort when compiling this. - #_(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (compare (range 5) (range))))))) + #_(is (thrown? #?(:cljs :default :default Exception) (compare (range 5) (range))))))) diff --git a/test/clojure/core_test/conj.cljc b/test/clojure/core_test/conj.cljc index d060d85a..74edfc02 100644 --- a/test/clojure/core_test/conj.cljc +++ b/test/clojure/core_test/conj.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.conj - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists conj @@ -41,6 +41,6 @@ apply-meta #(-> % (with-meta meta-data) (conj [:k :v]) meta)] (is (= meta-data (apply-meta {}) (apply-meta []) (apply-meta #{}) (apply-meta '()))))) - (when-var-exists clojure.core/first - (testing "first" - (is (= -1 (first (conj (range) -1)))))))) + (when-var-exists first + (testing "first" + (is (= -1 (first (conj (range) -1)))))))) diff --git a/test/clojure/core_test/cons.cljc b/test/clojure/core_test/cons.cljc index 69709621..56f60801 100644 --- a/test/clojure/core_test/cons.cljc +++ b/test/clojure/core_test/cons.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.cons - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists cons diff --git a/test/clojure/core_test/constantly.cljc b/test/clojure/core_test/constantly.cljc index a7e70ab6..2c5ad255 100644 --- a/test/clojure/core_test/constantly.cljc +++ b/test/clojure/core_test/constantly.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.constantly - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/constantly +(when-var-exists constantly (deftest test-constantly (testing "`constantly`" (is (fn? (constantly nil))) diff --git a/test/clojure/core_test/contains_qmark.cljc b/test/clojure/core_test/contains_qmark.cljc index 16257549..dcc2231c 100644 --- a/test/clojure/core_test/contains_qmark.cljc +++ b/test/clojure/core_test/contains_qmark.cljc @@ -1,23 +1,23 @@ (ns clojure.core-test.contains-qmark - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/contains? +(when-var-exists contains? (deftest test-contains? (testing "common" (is (= false (contains? nil nil))) (is (= false (contains? {} nil))) (is (= false (contains? [] nil))) + #?(:cljs (is (= false (contains? "abc" "a"))) + :default (is (thrown? Exception (contains? "abc" "a")))) + ;; find by index (is (= true (contains? ["a" "b" "c"] 0))) (is (= false (contains? ["a" "b" "c"] 3))) (is (= true (contains? "abc" 0))) (is (= true (contains? "abc" 2))) (is (= false (contains? "abc" 3))) - #?(:cljs (is (= false (contains? "abc" "a"))) - :clj (is (thrown? Exception (contains? "abc" "a"))) - :cljr (is (thrown? Exception (contains? "abc" "a")))) + ;; find by key (is (= true (contains? {:a 1 :b 1} :a))) (is (= false (contains? {:a 1 :b 1} :c))) diff --git a/test/clojure/core_test/count.cljc b/test/clojure/core_test/count.cljc index d6740991..56074007 100644 --- a/test/clojure/core_test/count.cljc +++ b/test/clojure/core_test/count.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.count - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/count +(when-var-exists count (deftest test-count (are [expected x] (= expected (count x)) 0 nil @@ -23,7 +23,7 @@ 2 "ab") ;; Negative tests - (are [x] (thrown? #?(:cljs :default :clj Exception :cljr Exception) (count x)) + (are [x] (thrown? #?(:cljs :default :default Exception) (count x)) 1 :a 'a diff --git a/test/clojure/core_test/counted_qmark.cljc b/test/clojure/core_test/counted_qmark.cljc index 143e295e..60a65437 100644 --- a/test/clojure/core_test/counted_qmark.cljc +++ b/test/clojure/core_test/counted_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.counted-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/counted? +(when-var-exists counted? (deftest test-counted? (testing "positive tests" (are [x] (counted? x) diff --git a/test/clojure/core_test/dec.cljc b/test/clojure/core_test/dec.cljc index 06086a32..c8b0e182 100644 --- a/test/clojure/core_test/dec.cljc +++ b/test/clojure/core_test/dec.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.dec - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/dec +(when-var-exists dec (deftest test-dec (testing "common" (are [in ex] (= (dec in) ex) @@ -12,24 +12,24 @@ 0N -1N 14412 14411 -3 -4 - 7.4 6.4 ; risky + 7.4 6.4 + ##Inf ##Inf + ##-Inf ##-Inf #?@(:cljs [] :default [3/2 1/2 - 1/2 -1/2]) - ##Inf ##Inf - ##-Inf ##-Inf) + 1/2 -1/2])) (is (NaN? (dec ##NaN)))) (testing "underflow" #?(:clj (is (thrown? Exception (dec Long/MIN_VALUE))) - :cljr (is (thrown? Exception (dec Int64/MinValue))) + :cljr (is (thrown? Exception (dec Int64/MinValue))) :cljs (is (= (dec js/Number.MIN_SAFE_INTEGER) (- js/Number.MIN_SAFE_INTEGER 2))) :default (is false "TODO underflow"))) (testing "dec-nil" ;; ClojureScript says (= -1 (dec nil)) because JavaScript casts null to 0 #?(:clj (is (thrown? Exception (dec #_:clj-kondo/ignore nil))) - :cljr (is (thrown? Exception (dec #_:clj-kondo/ignore nil))) + :cljr (is (thrown? Exception (dec #_:clj-kondo/ignore nil))) :cljs (is (= -1 (dec #_:clj-kondo/ignore nil))))))) diff --git a/test/clojure/core_test/decimal_qmark.cljc b/test/clojure/core_test/decimal_qmark.cljc index 167558c8..f31cf135 100644 --- a/test/clojure/core_test/decimal_qmark.cljc +++ b/test/clojure/core_test/decimal_qmark.cljc @@ -1,11 +1,15 @@ (ns clojure.core-test.decimal-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/decimal? +(when-var-exists decimal? (deftest test-decimal? (are [expected x] (= expected (decimal? x)) + true 0.0M + true 1.0M + true -1.0M + false 0 false 1 false -1 @@ -22,14 +26,6 @@ false 0N false 1N false -1N - #?@(:cljs [] - :default - [false 0/2 - false 1/2 - false -1/2]) - true 0.0M - true 1.0M - true -1.0M false nil false true false false @@ -47,4 +43,9 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + #?@(:cljs [] + :default + [false 0/2 + false 1/2 + false -1/2])))) diff --git a/test/clojure/core_test/denominator.cljc b/test/clojure/core_test/denominator.cljc index 26056b9e..152994ba 100644 --- a/test/clojure/core_test/denominator.cljc +++ b/test/clojure/core_test/denominator.cljc @@ -1,17 +1,17 @@ (ns clojure.core-test.denominator - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/denominator +(when-var-exists denominator (deftest test-denominator (is (= 2 (denominator 1/2))) (is (= 3 (denominator 2/3))) (is (= 4 (denominator 3/4))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator 1.0))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator 1N))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator 1.0M))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator ##Inf))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (denominator nil))))) + (is (thrown? #?(:cljs :default :default Exception) (denominator 1))) + (is (thrown? #?(:cljs :default :default Exception) (denominator 1.0))) + (is (thrown? #?(:cljs :default :default Exception) (denominator 1N))) + (is (thrown? #?(:cljs :default :default Exception) (denominator 1.0M))) + (is (thrown? #?(:cljs :default :default Exception) (denominator ##Inf))) + (is (thrown? #?(:cljs :default :default Exception) (denominator ##NaN))) + (is (thrown? #?(:cljs :default :default Exception) (denominator nil))))) diff --git a/test/clojure/core_test/disj.cljc b/test/clojure/core_test/disj.cljc index dca60e54..1cf55476 100644 --- a/test/clojure/core_test/disj.cljc +++ b/test/clojure/core_test/disj.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.disj - (:require [clojure.test :refer [deftest testing are is]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists disj diff --git a/test/clojure/core_test/disj_bang.cljc b/test/clojure/core_test/disj_bang.cljc index d28313ad..ccfdec3c 100644 --- a/test/clojure/core_test/disj_bang.cljc +++ b/test/clojure/core_test/disj_bang.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.disj-bang - (:require [clojure.test :refer [deftest testing are]] + (:require [clojure.test :refer [are deftest testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists disj! diff --git a/test/clojure/core_test/dissoc.cljc b/test/clojure/core_test/dissoc.cljc index aaeed47e..14f0afc5 100644 --- a/test/clojure/core_test/dissoc.cljc +++ b/test/clojure/core_test/dissoc.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.dissoc - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists dissoc diff --git a/test/clojure/core_test/dissoc_bang.cljc b/test/clojure/core_test/dissoc_bang.cljc index 92aa9584..fd0247d8 100644 --- a/test/clojure/core_test/dissoc_bang.cljc +++ b/test/clojure/core_test/dissoc_bang.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.dissoc-bang - (:require [clojure.test :refer [deftest testing are]] + (:require [clojure.test :refer [are deftest testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists dissoc! diff --git a/test/clojure/core_test/doseq.cljc b/test/clojure/core_test/doseq.cljc index 6ac8caf4..63e77342 100644 --- a/test/clojure/core_test/doseq.cljc +++ b/test/clojure/core_test/doseq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.doseq - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) @@ -13,14 +13,14 @@ (is (= [1 2 3] @acc)))) (testing "nil input: body not executed; result nil" (let [acc (atom :unchanged)] - (is (nil? (doseq [x nil] (reset! acc :changed)))) + (is (nil? (doseq [_ nil] (reset! acc :changed)))) (is (= :unchanged @acc)))) (testing "empty input: body not executed; result nil" (let [acc (atom 0)] - (is (nil? (doseq [x [] y [1 2 3]] (swap! acc + y)))) + (is (nil? (doseq [_ [] y [1 2 3]] (swap! acc + y)))) (is (= 0 @acc))) (let [acc (atom 0)] - (is (nil? (doseq [x []] (swap! acc inc)))) + (is (nil? (doseq [_ []] (swap! acc inc)))) (is (= 0 @acc)))) (testing "nested bindings iterate like a nested loop (leftmost outermost)" (let [acc (atom [])] diff --git a/test/clojure/core_test/double.cljc b/test/clojure/core_test/double.cljc index 65f51f04..96f8db48 100644 --- a/test/clojure/core_test/double.cljc +++ b/test/clojure/core_test/double.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.double - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/double +(when-var-exists double (deftest test-double (are [expected x] (= expected (double x)) (double 1.0) 1 @@ -20,10 +20,10 @@ (is (NaN? (double ##NaN))) #?@(:cljs - ;; In cljs, `double` is just returns the argument unchanged (dummy fn) + ;; In cljs, `double` is just returns the argument unchanged [(is (= "0" (double "0"))) (is (= :0 (double :0)))] - :cljr + :cljr [(is (= 0.0 (double "0"))) (is (thrown? Exception (double :0)))] :default @@ -35,7 +35,7 @@ (is (instance? java.lang.Double (double 0.0))) (is (instance? java.lang.Double (double 0N))) (is (instance? java.lang.Double (double 0.0M)))] - :cljr + :cljr [(is (instance? System.Double (double 0))) (is (instance? System.Double (double 0.0))) (is (instance? System.Double (double 0N))) diff --git a/test/clojure/core_test/double_qmark.cljc b/test/clojure/core_test/double_qmark.cljc index 5f0878b7..be46eaf3 100644 --- a/test/clojure/core_test/double_qmark.cljc +++ b/test/clojure/core_test/double_qmark.cljc @@ -1,31 +1,31 @@ (ns clojure.core-test.double-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/double? +(when-var-exists double? (deftest test-double? (are [expected x] (= expected (double? x)) - #?@(:cljs ; In CLJS, all numbers satisfy `double?` + #?@(:cljs ; In CLJS, all numbers satisfy `double?` [true 0 true 1 true -1 true r/max-int true r/min-int - true 0.0 - true 1.0 - true -1.0 - true (float 0.0) ; surprising since (float? (double 0.0)) = true - true (float 1.0) ; surprising since (float? (double 1.0)) = true - true (float -1.0) ; surprising since (float? (double -1.0)) = true - true (double 0.0) - true (double 1.0) - true (double -1.0) - true r/max-double - true r/min-double - true ##Inf - true ##-Inf - true ##NaN + true 0.0 + true 1.0 + true -1.0 + true (float 0.0) + true (float 1.0) + true (float -1.0) + true (double 0.0) + true (double 1.0) + true (double -1.0) + true r/max-double + true r/min-double + true ##Inf + true ##-Inf + true ##NaN true 0N true 1N true -1N @@ -58,11 +58,12 @@ false 0.0M false 1.0M false -1.0M]) - #?@(:cljs [] ; CLJS doesn't have ratios + #?@(:cljs [] ; CLJS doesn't have ratios :default [false 0/2 false 1/2 - false -1/2]) false nil + false -1/2]) + false nil false true false false false "a string" diff --git a/test/clojure/core_test/drop.cljc b/test/clojure/core_test/drop.cljc index 205e6ec1..d3a8a334 100644 --- a/test/clojure/core_test/drop.cljc +++ b/test/clojure/core_test/drop.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.drop - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/drop +(when-var-exists drop (deftest test-drop (is (= (range 1 10) (drop 1 (range 0 10)))) (is (= (range 5 10) (drop 5 (range 0 10)))) @@ -22,7 +22,7 @@ (is (doall (drop 1 #{:a :b :c}))) ;; Negative tests - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (drop nil (range 0 10))))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (into [] (drop nil) (range 0 10)))))) diff --git a/test/clojure/core_test/drop_last.cljc b/test/clojure/core_test/drop_last.cljc index 14b13201..914b8ea9 100644 --- a/test/clojure/core_test/drop_last.cljc +++ b/test/clojure/core_test/drop_last.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.drop-last - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/drop-last +(when-var-exists drop-last (deftest test-drop-last ;; drop the last item (= (range 0 9) (drop-last (range 0 10))) @@ -15,5 +15,5 @@ ;; Negative tests ;; Note: `doall` is required to realize the lazy sequence and ;; force it to throw - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (drop-last nil (range 5))))))) From e90f46b1c79bd5295e5393bde51c758327d15846 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 11:48:20 -0500 Subject: [PATCH 08/51] WIP --- test/clojure/core_test/drop_while.cljc | 12 ++++++------ test/clojure/core_test/empty.cljc | 17 ++++++++--------- test/clojure/core_test/empty_qmark.cljc | 15 ++++++--------- test/clojure/core_test/eq.cljc | 8 +------- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/test/clojure/core_test/drop_while.cljc b/test/clojure/core_test/drop_while.cljc index 676de100..34c1edde 100644 --- a/test/clojure/core_test/drop_while.cljc +++ b/test/clojure/core_test/drop_while.cljc @@ -1,11 +1,11 @@ (ns clojure.core-test.drop-while - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/drop-while +(when-var-exists drop-while (deftest test-drop-while (is (= (range 5 10) (drop-while #(< % 5) (range 0 10)))) - (is (= 5 (first (drop-while #(< % 5) (range))))) ; lazy infinite `range` + (is (= 5 (first (drop-while #(< % 5) (range))))) ; lazy infinite `range` (is (= '(1 2 3) (drop-while keyword? [:a :b :c 1 2 3]))) (is (= '() (drop-while #(< % 5) nil))) @@ -15,7 +15,7 @@ (is (= [] (into [] (drop-while #(< % 5)) nil))) ;; Negative tests - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (drop-while nil (range 0 10))))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (into [] (drop-while nil) (range 0 10)))))) diff --git a/test/clojure/core_test/empty.cljc b/test/clojure/core_test/empty.cljc index 76a8f459..1d63edc1 100644 --- a/test/clojure/core_test/empty.cljc +++ b/test/clojure/core_test/empty.cljc @@ -1,10 +1,9 @@ (ns clojure.core-test.empty - (:require clojure.core - [clojure.core-test.number-range :as r] - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.core-test.number-range :as r] + [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/empty +(when-var-exists empty (deftest test-empty (testing "common" (are [expected x] (= expected (empty x)) @@ -24,7 +23,7 @@ nil r/max-int nil r/min-int #?@(:cljs [nil (js/Date)] - :cljr [nil (new Object)] + :cljr [nil (new Object)] :clj [nil (new Object)]))) (testing "meta preservation" @@ -32,14 +31,14 @@ apply-meta #(-> % (with-meta meta-data) empty meta)] (is (= meta-data (apply-meta {}) (apply-meta []) (apply-meta #{}) (apply-meta '()))))) - (when-var-exists clojure.core/defrecord + (when-var-exists defrecord (testing "record" (defrecord Record [field]) #?@(:cljs [(is (= nil (empty (->Record ""))))] - :cljr [(is (thrown? InvalidOperationException (empty (->Record ""))))] + :cljr [(is (thrown? InvalidOperationException (empty (->Record ""))))] :clj [(is (thrown? UnsupportedOperationException (empty (->Record ""))))]))) - (when-var-exists clojure.core/deftype + (when-var-exists deftype (testing "datatype" (deftype MyType [field]) (is (= nil (empty (->MyType "")))))))) diff --git a/test/clojure/core_test/empty_qmark.cljc b/test/clojure/core_test/empty_qmark.cljc index 4452d9d4..48a53fc5 100644 --- a/test/clojure/core_test/empty_qmark.cljc +++ b/test/clojure/core_test/empty_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.empty-qmark (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/empty? +(when-var-exists empty? (deftest test-empty? (testing "common" (is (= true (empty? nil))) @@ -21,9 +21,6 @@ #?@(:cljs [(is (= false (empty? \space))) (is (thrown? js/Error (empty? 0))) (is (thrown? js/Error (empty? 0.0)))] - :cljr [(is (thrown? Exception (empty? 0))) - (is (thrown? Exception (empty? 0.0))) - (is (thrown? Exception (empty? \space)))] - :clj [(is (thrown? Exception (empty? 0))) - (is (thrown? Exception (empty? 0.0))) - (is (thrown? Exception (empty? \space)))])))) + :default [(is (thrown? Exception (empty? 0))) + (is (thrown? Exception (empty? 0.0))) + (is (thrown? Exception (empty? \space)))])))) diff --git a/test/clojure/core_test/eq.cljc b/test/clojure/core_test/eq.cljc index e8d99321..37a30149 100644 --- a/test/clojure/core_test/eq.cljc +++ b/test/clojure/core_test/eq.cljc @@ -1,13 +1,7 @@ (ns clojure.core-test.eq - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -;; Doesn't test (yet): -;; * Java collections for JVM Clojure -;; * clojure.lang.PersistentQueue -;; * ##Inf and some other special forms -;; * Records - (defn tests [eq] (testing "two scalars" (are [in ex] (eq in ex) From c465449debd62f210a757556f2ed36798479798b Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 13:34:08 -0500 Subject: [PATCH 09/51] Fix more parens --- test/clojure/core_test/bound_fn_star.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/bound_fn_star.cljc b/test/clojure/core_test/bound_fn_star.cljc index 7940179c..9558b8fc 100644 --- a/test/clojure/core_test/bound_fn_star.cljc +++ b/test/clojure/core_test/bound_fn_star.cljc @@ -50,4 +50,4 @@ (future (bound-fn* test-fn))))] (binding [*x* :derefer] (let [derefed-f @f] - (is (= :callee (@derefed-f)) "Binding in futures preserved.")))))))) + (is (= :callee (@derefed-f)) "Binding in futures preserved."))))))) From 6b3f32ba0cf161d2feae56e73c78e6db5f90445e Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 13:49:26 -0500 Subject: [PATCH 10/51] More! --- test/clojure/core_test/eq.cljc | 2 +- test/clojure/core_test/even_qmark.cljc | 15 ++++---- test/clojure/core_test/false_qmark.cljc | 19 ++++----- test/clojure/core_test/ffirst.cljc | 29 ++++++-------- test/clojure/core_test/find.cljc | 6 +-- test/clojure/core_test/first.cljc | 8 ++-- test/clojure/core_test/float.cljc | 29 +++++++------- test/clojure/core_test/float_qmark.cljc | 51 +++++++++++++------------ test/clojure/core_test/fn_qmark.cljc | 6 +-- test/clojure/core_test/fnext.cljc | 19 ++++----- test/clojure/core_test/fnil.cljc | 6 +-- test/clojure/core_test/format.cljc | 8 ++-- test/clojure/core_test/get.cljc | 7 ++-- 13 files changed, 100 insertions(+), 105 deletions(-) diff --git a/test/clojure/core_test/eq.cljc b/test/clojure/core_test/eq.cljc index 37a30149..83a8dea7 100644 --- a/test/clojure/core_test/eq.cljc +++ b/test/clojure/core_test/eq.cljc @@ -134,7 +134,7 @@ (list ##NaN) (list ##NaN) false ##NaN ##NaN false)))) -(when-var-exists clojure.core/= +(when-var-exists = (deftest test-eq (tests =) ;; This is to accomodate a not= JVM bug. See not_eq.cljc diff --git a/test/clojure/core_test/even_qmark.cljc b/test/clojure/core_test/even_qmark.cljc index e785efec..73dc0a14 100644 --- a/test/clojure/core_test/even_qmark.cljc +++ b/test/clojure/core_test/even_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.even-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/even? +(when-var-exists even? (deftest test-even? (testing "common" (are [in ex] (= (even? in) ex) @@ -18,13 +18,14 @@ -120N true)) (testing "invalid" - (are [x] (thrown? #?(:cljs :default :clj Exception :cljr Exception) (even? x)) - #_:clj-kondo/ignore nil + (are [x] (thrown? #?(:cljs :default :default Exception) (even? x)) + #_:clj-kondo/ignore + nil ##Inf ##-Inf ##NaN 1.5 + 0.2M #?@(:cljs [] :default - [1/2]) - 0.2M)))) + [1/2]))))) diff --git a/test/clojure/core_test/false_qmark.cljc b/test/clojure/core_test/false_qmark.cljc index 02b6bb6c..b26fb680 100644 --- a/test/clojure/core_test/false_qmark.cljc +++ b/test/clojure/core_test/false_qmark.cljc @@ -1,11 +1,13 @@ (ns clojure.core-test.false-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/false? +(when-var-exists false? (deftest test-false? (are [expected x] (= expected (false? x)) + true false + false 0 false 1 false -1 @@ -28,16 +30,11 @@ false 0N false 1N false -1N - #?@(:cljs [] - :default [false 0/2 - false 1/2 - false -1/2]) false 0.0M false 1.0M false -1.0M false nil false true - true false false "a string" false "0" false "1" @@ -56,4 +53,8 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + #?@(:cljs [] + :default [false 0/2 + false 1/2 + false -1/2])))) diff --git a/test/clojure/core_test/ffirst.cljc b/test/clojure/core_test/ffirst.cljc index 35fc5cf4..4562fafe 100644 --- a/test/clojure/core_test/ffirst.cljc +++ b/test/clojure/core_test/ffirst.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.ffirst (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/ffirst +(when-var-exists ffirst (deftest test-ffirst (testing "common" (is (= nil (ffirst '()))) @@ -21,18 +21,13 @@ (is (= \a (ffirst #{"abcd"})))) (testing "exceptions" - #?@(:clj + #?@(:cljs + [(is (thrown? js/Error (ffirst (range 0 10)))) + (is (thrown? js/Error (ffirst (range)))) ; infinite lazy seq + (is (thrown? js/Error (ffirst [:a :b :c]))) + (is (thrown? js/Error (ffirst '(:a :b :c))))] + :default [(is (thrown? Exception (ffirst (range 0 10)))) - (is (thrown? Exception (ffirst (range)))) ; infinite lazy seq - (is (thrown? Exception (ffirst [:a :b :c]))) - (is (thrown? Exception (ffirst '(:a :b :c))))] - :cljr - [(is (thrown? Exception (ffirst (range 0 10)))) - (is (thrown? Exception (ffirst (range)))) ; infinite lazy seq - (is (thrown? Exception (ffirst [:a :b :c]))) - (is (thrown? Exception (ffirst '(:a :b :c))))] - :cljs - [(is (thrown? js/Error (ffirst (range 0 10)))) - (is (thrown? js/Error (ffirst (range)))) ; infinite lazy seq - (is (thrown? js/Error (ffirst [:a :b :c]))) - (is (thrown? js/Error (ffirst '(:a :b :c))))])))) + (is (thrown? Exception (ffirst (range)))) ; infinite lazy seq + (is (thrown? Exception (ffirst [:a :b :c]))) + (is (thrown? Exception (ffirst '(:a :b :c))))])))) diff --git a/test/clojure/core_test/find.cljc b/test/clojure/core_test/find.cljc index f3fc1080..5a152e77 100644 --- a/test/clojure/core_test/find.cljc +++ b/test/clojure/core_test/find.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.find (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/find +(when-var-exists find (deftest test-find (testing "common" (is (= nil (find nil nil))) diff --git a/test/clojure/core_test/first.cljc b/test/clojure/core_test/first.cljc index f555198e..cbfb1451 100644 --- a/test/clojure/core_test/first.cljc +++ b/test/clojure/core_test/first.cljc @@ -1,11 +1,11 @@ (ns clojure.core-test.first - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/first +(when-var-exists first (deftest test-first (is (= 0 (first (range 0 10)))) - (is (= 0 (first (range)))) ; infinite lazy seq + (is (= 0 (first (range)))) (is (= :a (first [:a :b :c]))) (is (= :a (first '(:a :b :c)))) (is (nil? (first '()))) diff --git a/test/clojure/core_test/float.cljc b/test/clojure/core_test/float.cljc index ea2e6dab..1e99eedd 100644 --- a/test/clojure/core_test/float.cljc +++ b/test/clojure/core_test/float.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.float - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/float +(when-var-exists float (deftest test-float (are [expected x] (= expected (float x)) (float 1.0) 1 @@ -33,17 +33,18 @@ (is (= ##-Inf (float ##-Inf))) (is (= "0" (float "0"))) (is (= :0 (float :0)))] - :cljr - [(is (thrown? Exception (float r/max-double))) - (is (thrown? Exception (float ##Inf))) - (is (thrown? Exception (float ##-Inf))) - (is (= (float 0.0) (float "0"))) - (is (thrown? Exception(float :0)))] - :default [(is (thrown? #?(:clj Exception) (float r/max-double))) - (is (thrown? #?(:clj Exception) (float ##Inf))) - (is (thrown? #?(:clj Exception) (float ##-Inf))) - (is (thrown? #?(:clj Exception) (float "0"))) - (is (thrown? #?(:clj Exception) (float :0)))]) + :cljr + [(is (thrown? Exception (float r/max-double))) + (is (thrown? Exception (float ##Inf))) + (is (thrown? Exception (float ##-Inf))) + (is (= (float 0.0) (float "0"))) + (is (thrown? Exception(float :0)))] + :default + [(is (thrown? Exception (float r/max-double))) + (is (thrown? Exception (float ##Inf))) + (is (thrown? Exception (float ##-Inf))) + (is (thrown? Exception (float "0"))) + (is (thrown? Exception (float :0)))]) #?@(:clj [(is (instance? java.lang.Float (float 0))) diff --git a/test/clojure/core_test/float_qmark.cljc b/test/clojure/core_test/float_qmark.cljc index 70c6031c..80338392 100644 --- a/test/clojure/core_test/float_qmark.cljc +++ b/test/clojure/core_test/float_qmark.cljc @@ -1,31 +1,31 @@ (ns clojure.core-test.float-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/float? +(when-var-exists float? (deftest test-float? (are [expected x] (= expected (float? x)) - #?@(:cljs ; In CLJS all numbers satisfy `float?` + #?@(:cljs ; In CLJS all numbers satisfy `float?` [true 0 true 1 true -1 true r/max-int true r/min-int - true 0.0 - true 1.0 - true -1.0 - true (float 0.0) - true (float 1.0) - true (float -1.0) - true (double 0.0) - true (double 1.0) - true (double -1.0) - true r/max-double - true r/min-double - true ##Inf - true ##-Inf - true ##NaN + true 0.0 + true 1.0 + true -1.0 + true (float 0.0) + true (float 1.0) + true (float -1.0) + true (double 0.0) + true (double 1.0) + true (double -1.0) + true r/max-double + true r/min-double + true ##Inf + true ##-Inf + true ##NaN true 0N true 1N true -1N @@ -33,12 +33,7 @@ true 1.0M true -1.0M] :default - [false 0 - false 1 - false -1 - false r/max-int - false r/min-int - true 0.0 + [true 0.0 true 1.0 true -1.0 true (float 0.0) @@ -52,13 +47,19 @@ true ##Inf true ##-Inf true ##NaN + + false 0 + false 1 + false -1 + false r/max-int + false r/min-int false 0N false 1N false -1N false 0.0M false 1.0M false -1.0M]) - #?@(:cljs [] ; CLJS doesn't have ratios + #?@(:cljs [] ; CLJS doesn't have ratios :default [false 0/2 false 1/2 diff --git a/test/clojure/core_test/fn_qmark.cljc b/test/clojure/core_test/fn_qmark.cljc index 13fd5425..79f8a9aa 100644 --- a/test/clojure/core_test/fn_qmark.cljc +++ b/test/clojure/core_test/fn_qmark.cljc @@ -1,11 +1,11 @@ (ns clojure.core-test.fn-qmark (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn foo [x] (str "hello " x)) -(when-var-exists clojure.core/fn? +(when-var-exists fn? (deftest test-fn? (testing "`fn?`" (testing "functions, functions from HOFs, transducers, #() reader macro, `fn`, `defn`" diff --git a/test/clojure/core_test/fnext.cljc b/test/clojure/core_test/fnext.cljc index ce862ab8..7a14b98b 100644 --- a/test/clojure/core_test/fnext.cljc +++ b/test/clojure/core_test/fnext.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.fnext (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/fnext +(when-var-exists fnext (deftest test-fnext (testing "section name" (is (= nil (fnext '()))) @@ -16,7 +16,7 @@ (is (= nil (fnext {:a :b}))) (is (= :b (fnext [:a :b]))) (is (= 1 (fnext (range 0 10)))) - (is (= 1 (fnext (range)))) ; infinite lazy seq + (is (= 1 (fnext (range)))) ; infinite lazy seq (is (= [2 3] (fnext [[0 1] [2 3]]))) (is (= '(2 3) (fnext '([0 1] [2 3])))) (is (= \b (fnext "abcd"))) @@ -25,11 +25,8 @@ (is (= nil (fnext #{"abcd"})))) (testing "exceptions" - #?@(:clj + #?@(:cljs + [(is (thrown? js/Error (fnext 0)))] + :default [(is (thrown? Exception (fnext 0))) - (is (thrown? Exception (fnext \a )))] - :cljr - [(is (thrown? Exception (fnext 0))) - (is (thrown? Exception (fnext \a )))] - :cljs - [(is (thrown? js/Error (fnext 0)))])))) + (is (thrown? Exception (fnext \a )))])))) diff --git a/test/clojure/core_test/fnil.cljc b/test/clojure/core_test/fnil.cljc index a1b18c15..0a172d89 100644 --- a/test/clojure/core_test/fnil.cljc +++ b/test/clojure/core_test/fnil.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.fnil - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/fnil +(when-var-exists fnil (defn test-fn [& x] (into [] x)) diff --git a/test/clojure/core_test/format.cljc b/test/clojure/core_test/format.cljc index 296f6f62..4a8e5aa3 100644 --- a/test/clojure/core_test/format.cljc +++ b/test/clojure/core_test/format.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.format - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/format +(when-var-exists format ;;; Note that `format` presents a bit of a conundrum for ;;; testing. Clojure JVM delegates the formatting task to ;;; Java. ClojureScript doesn't implement `format`. Other Clojure @@ -15,6 +15,6 @@ ;;; See: https://clojurians.slack.com/archives/C03SRH97FDK/p1733853098700809 (deftest test-format - #?@(:cljs [] ; CLJS doesn't have `format` + #?@(:cljs [] ; CLJS doesn't have `format` :default [(is (= "test" (format "test")))]))) diff --git a/test/clojure/core_test/get.cljc b/test/clojure/core_test/get.cljc index 6ce45548..3e1e3919 100644 --- a/test/clojure/core_test/get.cljc +++ b/test/clojure/core_test/get.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.get - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/get +(when-var-exists get (deftest test-get (let [arr (to-array [1 2])] ;; two-arg @@ -27,7 +27,6 @@ ;; three-arg (are [expected m key not-found] (= expected (get m key not-found)) :not-found nil :a :not-found - :not-found {} :a :not-found :not-found #{} :a :not-found :not-found [] 1 :not-found From 26b4cd2ae04f8ca78b7a3d208312b91bda3a0819 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 13:56:55 -0500 Subject: [PATCH 11/51] Whoops --- test/clojure/core_test/char.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/char.cljc b/test/clojure/core_test/char.cljc index 5645d137..069f098b 100644 --- a/test/clojure/core_test/char.cljc +++ b/test/clojure/core_test/char.cljc @@ -14,4 +14,4 @@ ) #?(:cljs nil :default (is (thrown? Exception (char -1)))) - (is (thrown? #?(:cljs :default Exception) (char nil))))) + (is (thrown? #?(:cljs :default :default Exception) (char nil))))) From ca84a177155ad8541311a9e82daadc455fe6fc5f Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 14:00:43 -0500 Subject: [PATCH 12/51] Add back --- test/clojure/core_test/format.cljc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/clojure/core_test/format.cljc b/test/clojure/core_test/format.cljc index 4a8e5aa3..6a66be58 100644 --- a/test/clojure/core_test/format.cljc +++ b/test/clojure/core_test/format.cljc @@ -1,5 +1,7 @@ (ns clojure.core-test.format - (:require [clojure.test :as t :refer [deftest]] + (:require [clojure.test :as t :refer [deftest + :#_:clj-kondo/ignore [unused-var] + is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists format From 3e0462f78fce3922fa3779adbf95ca10460cdb91 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 14:06:35 -0500 Subject: [PATCH 13/51] clj the kondo --- test/clojure/core_test/format.cljc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/clojure/core_test/format.cljc b/test/clojure/core_test/format.cljc index 6a66be58..429e34cf 100644 --- a/test/clojure/core_test/format.cljc +++ b/test/clojure/core_test/format.cljc @@ -1,7 +1,6 @@ +#_{:clj-kondo/ignore [:unused-referred-var]} (ns clojure.core-test.format - (:require [clojure.test :as t :refer [deftest - :#_:clj-kondo/ignore [unused-var] - is]] + (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists format From 35a95209f2ac7f083c59014f6477c7e73577528e Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 14:18:43 -0500 Subject: [PATCH 14/51] WIP --- test/clojure/core_test/get_in.cljc | 9 +++++---- test/clojure/core_test/hash_map.cljc | 12 +++++------- test/clojure/core_test/hash_set.cljc | 7 +++---- test/clojure/core_test/ident_qmark.cljc | 15 ++++++++------- test/clojure/core_test/identical_qmark.cljc | 6 +++--- test/clojure/core_test/ifn_qmark.cljc | 16 ++++++++-------- test/clojure/core_test/inc.cljc | 18 +++++++++--------- 7 files changed, 41 insertions(+), 42 deletions(-) diff --git a/test/clojure/core_test/get_in.cljc b/test/clojure/core_test/get_in.cljc index 1fe139c2..c64810c0 100644 --- a/test/clojure/core_test/get_in.cljc +++ b/test/clojure/core_test/get_in.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.get-in - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/get-in +(when-var-exists get-in (deftest test-get-in (testing "common" (is (= nil (get-in nil nil))) (is (= nil (get-in nil nil "not found"))) + ;; maps (is (= {} (get-in {} nil))) (is (= {} (get-in {} nil "not found"))) @@ -25,6 +25,7 @@ (is (= :d (get-in {:a {:b {:c :d} :e (range)}} [:a :b :c]))) (is (= nil (get-in {:a {:b {:c :d}}} [:a :b :c :d]))) (is (= :d (get-in {:a {:b {:c :d} :e (range)}} [:a :b :c :d] :d))) + ;; vectors (is (= 0 (get-in [[0 1 2] [3 4 5] diff --git a/test/clojure/core_test/hash_map.cljc b/test/clojure/core_test/hash_map.cljc index 92311996..74184636 100644 --- a/test/clojure/core_test/hash_map.cljc +++ b/test/clojure/core_test/hash_map.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.hash-map - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/hash-map +(when-var-exists hash-map (deftest test-hash-map (testing "common" (is (= {} (hash-map))) @@ -13,6 +12,5 @@ (is (= {"a" 1, [:b :c] "2", \d nil} (hash-map "a" 1, [:b :c] "2", \d nil))) (is (= {\a {}} (hash-map \a (hash-map)))) (is (= {:a {:b {:c 1} :d 2}} (hash-map :a (hash-map :b (hash-map :c 1) :d 2)))) - #?@(:clj [(is (thrown? Exception (hash-map :a)))] - :cljr [(is (thrown? Exception (hash-map :a)))] - :cljs [(is (thrown? js/Error (hash-map :a)))])))) + #?@(:cljs [(is (thrown? js/Error (hash-map :a)))] + :default [(is (thrown? Exception (hash-map :a)))])))) diff --git a/test/clojure/core_test/hash_set.cljc b/test/clojure/core_test/hash_set.cljc index b85cbeb1..37176349 100644 --- a/test/clojure/core_test/hash_set.cljc +++ b/test/clojure/core_test/hash_set.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.hash-set - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/hash-set +(when-var-exists hash-set (deftest test-hash-set (testing "common" (is (= #{} (hash-set))) diff --git a/test/clojure/core_test/ident_qmark.cljc b/test/clojure/core_test/ident_qmark.cljc index 3e9178c1..278235e1 100644 --- a/test/clojure/core_test/ident_qmark.cljc +++ b/test/clojure/core_test/ident_qmark.cljc @@ -1,22 +1,23 @@ (ns clojure.core-test.ident-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/ident? +(when-var-exists ident? (deftest test-ident? (are [expected x] (= expected (ident? x)) true :a-keyword true 'a-symbol true :a-ns/a-keyword true 'a-ns/a-keyword + false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/identical_qmark.cljc b/test/clojure/core_test/identical_qmark.cljc index 92a7ae16..81c4762e 100644 --- a/test/clojure/core_test/identical_qmark.cljc +++ b/test/clojure/core_test/identical_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.identical-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/identical? +(when-var-exists identical? (deftest test-identical? ;; objects that are the same object are identical (let [x (hash-map) diff --git a/test/clojure/core_test/ifn_qmark.cljc b/test/clojure/core_test/ifn_qmark.cljc index 1de08110..d92231ce 100644 --- a/test/clojure/core_test/ifn_qmark.cljc +++ b/test/clojure/core_test/ifn_qmark.cljc @@ -1,14 +1,13 @@ (ns clojure.core-test.ifn-qmark - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn foo [x] (str "hello " x)) -(when-var-exists clojure.core/defprotocol +(when-var-exists defprotocol (defprotocol Bar (bar [this a b] "bar docstring"))) -(when-var-exists clojure.core/ifn? +(when-var-exists ifn? (deftest test-ifn? (testing "`ifn?`" (testing "functions, functions from HOFs, transducers, #() reader macro, `fn`, `defn`" @@ -26,7 +25,7 @@ (is (ifn? :keyword)) (is (ifn? 'symbol)) (is (ifn? #'ifn?)) - (when-var-exists clojure.core/promise + (when-var-exists promise (is (ifn? (promise))))) (testing "non-functions" @@ -36,12 +35,13 @@ (is (not (ifn? "string"))) (is (not (ifn? \space))))) - (when-var-exists clojure.core/defmulti + (when-var-exists defmulti (testing "multimethods" + #_{:clj-kondo/ignore [:inline-def]} (defmulti my-multi first) (defmethod my-multi :foo [_] :multi/foo) (is (ifn? my-multi)))) - (when-var-exists clojure.core/defprotocol + (when-var-exists defprotocol (testing "protocols" (is (ifn? bar)))))) diff --git a/test/clojure/core_test/inc.cljc b/test/clojure/core_test/inc.cljc index d1782603..2c219138 100644 --- a/test/clojure/core_test/inc.cljc +++ b/test/clojure/core_test/inc.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.inc - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/inc +(when-var-exists inc (deftest test-inc (testing "common" (are [in ex] (= (inc in) ex) @@ -13,19 +13,19 @@ -1N 0N 14411 14412 -4 -3 - 6.4 7.4 ; risky + 6.4 7.4 + ##Inf ##Inf + ##-Inf ##-Inf #?@(:cljs [] :default [1/2 3/2 - -1/2 1/2]) - ##Inf ##Inf - ##-Inf ##-Inf) + -1/2 1/2])) (is (NaN? (inc ##NaN)))) (testing "overflow" #?(:clj (is (thrown? Exception (inc Long/MAX_VALUE))) - :cljr (is (thrown? Exception (inc Int64/MaxValue))) + :cljr (is (thrown? Exception (inc Int64/MaxValue))) :cljs (is (= (inc js/Number.MAX_SAFE_INTEGER) (+ 2 js/Number.MAX_SAFE_INTEGER))) :default (is false "overflow untested"))) @@ -33,4 +33,4 @@ ;; ClojureScript says (= 1 (inc nil)) because JavaScript casts null to 0 ;; https://clojuredocs.org/clojure.core/inc#example-6156a59ee4b0b1e3652d754f #?(:cljs (is (= 1 (inc #_:clj-kondo/ignore nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (inc #_:clj-kondo/ignore nil))))))) + :default (is (thrown? Exception (inc #_:clj-kondo/ignore nil))))))) From 3013965ec769ccc9b0c732fcd975690f073cdaf2 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 14:22:44 -0500 Subject: [PATCH 15/51] int --- test/clojure/core_test/int.cljc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/test/clojure/core_test/int.cljc b/test/clojure/core_test/int.cljc index d8928e95..bbfc22cd 100644 --- a/test/clojure/core_test/int.cljc +++ b/test/clojure/core_test/int.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.int - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/int +(when-var-exists int (deftest test-int ;; There is no platform independent predicate to test specifically ;; for an int. While `int?` exists, it returns true for any @@ -12,7 +12,7 @@ ;; integer of some sort. (is (int? (int 0))) #?(:clj (is (instance? java.lang.Integer (int 0))) - :cljr (is (instance? System.Int32 (int 0)))) + :cljr (is (instance? System.Int32 (int 0)))) ;; Check conversions and rounding from other numeric types (are [expected x] (= expected (int x)) @@ -30,10 +30,7 @@ 1 1.9 1 1.1M -1 -1.1M - #?@(:cljs [] ; The CLSJ compiler barfs on - ; these for some unknown - ; reason. Interestingly, they - ; work in a CLJS REPL. + #?@(:cljs [] :default [1 3/2 -1 -3/2 @@ -41,8 +38,8 @@ 0 -1/10])) #?@(:cljs [] - :bb [] - :cljr + :bb [] + :cljr [ ;; `int` throws outside the range of 32767 ... -32768. (is (thrown? Exception (int -2147483648.000001))) (is (thrown? Exception (int -2147483649))) From 15eb3f75ffaeca9c2e52575fa4bc0b0336c8131f Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 14:55:17 -0500 Subject: [PATCH 16/51] Next batch --- test/clojure/core_test/boolean_qmark.cljc | 6 +-- test/clojure/core_test/int_qmark.cljc | 8 ++-- test/clojure/core_test/integer_qmark.cljc | 8 ++-- test/clojure/core_test/interleave.cljc | 8 ++-- test/clojure/core_test/intern.cljc | 10 ++--- test/clojure/core_test/interpose.cljc | 6 +-- test/clojure/core_test/juxt.cljc | 2 +- test/clojure/core_test/key.cljc | 2 +- test/clojure/core_test/keys.cljc | 10 ++--- test/clojure/core_test/keyword.cljc | 48 ++++++++++------------- 10 files changed, 50 insertions(+), 58 deletions(-) diff --git a/test/clojure/core_test/boolean_qmark.cljc b/test/clojure/core_test/boolean_qmark.cljc index 9e24ae08..93a10586 100644 --- a/test/clojure/core_test/boolean_qmark.cljc +++ b/test/clojure/core_test/boolean_qmark.cljc @@ -29,6 +29,6 @@ #?@(:cljs [true (js/Boolean true) true (js/Boolean false) true (js/Boolean "yes")] - :default [true (new Boolean "true") - true (new Boolean "false") - true (new Boolean "yes")]))))) + :clj [true (new Boolean "true") + true (new Boolean "false") + true (new Boolean "yes")]))))) diff --git a/test/clojure/core_test/int_qmark.cljc b/test/clojure/core_test/int_qmark.cljc index e80242a2..05159a85 100644 --- a/test/clojure/core_test/int_qmark.cljc +++ b/test/clojure/core_test/int_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.int-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/int? +(when-var-exists int? (deftest test-int? (are [expected x] (= expected (int? x)) true 0 @@ -27,7 +27,7 @@ #?@(:cljs [true] :default [false]) -1N #?@(:cljs [] :default - [true 0/2 ; perhaps surprising + [true 0/2 false 1/2 false -1/2]) #?@(:cljs [true] :default [false]) 0.0M diff --git a/test/clojure/core_test/integer_qmark.cljc b/test/clojure/core_test/integer_qmark.cljc index 9f9307a5..933076ff 100644 --- a/test/clojure/core_test/integer_qmark.cljc +++ b/test/clojure/core_test/integer_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.integer-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/integer? +(when-var-exists integer? (deftest test-integer? (are [expected x] (= expected (integer? x)) true 0 @@ -27,7 +27,7 @@ true -1N #?@(:cljs [] :default - [true 0/2 ; perhaps surprising + [true 0/2 false 1/2 false -1/2]) #?@(:cljs [true] :default [false]) 0.0M diff --git a/test/clojure/core_test/interleave.cljc b/test/clojure/core_test/interleave.cljc index 058bedcd..fafc7b11 100644 --- a/test/clojure/core_test/interleave.cljc +++ b/test/clojure/core_test/interleave.cljc @@ -1,14 +1,14 @@ (ns clojure.core-test.interleave - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists - clojure.core/interleave + interleave (deftest test-interleave (testing "common cases" (are [in ex] (= (apply interleave in) ex) [[1 2 3]] [1 2 3] - [[1 2 3] ["a" "b" "c"]] [1 "a" 2 "b" 3 "c"] + [[1 2 3] ["a" "b" "c"]] [1 "a" 2 "b" 3 "c"] [[1 2 3] ["a" "b" "c"] [\a \b \c]] [1 "a" \a 2 "b" \b 3 "c" \c] diff --git a/test/clojure/core_test/intern.cljc b/test/clojure/core_test/intern.cljc index a17595b3..4c180dfe 100644 --- a/test/clojure/core_test/intern.cljc +++ b/test/clojure/core_test/intern.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.intern - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/intern +(when-var-exists intern (deftest test-intern ;; Intern and bind (let [x-var (intern 'clojure.core-test.intern 'x 42)] @@ -21,5 +21,5 @@ (is (= 42 (var-get x-var)))) ;; Trying to intern to an unknown namespace should throw - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (intern 'unknown-namespace 'x))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (intern 'unknonw-namespace 'x 42))))) + (is (thrown? #?(:cljs :default :default Exception) (intern 'unknown-namespace 'x))) + (is (thrown? #?(:cljs :default :default Exception) (intern 'unknown-namespace 'x 42))))) diff --git a/test/clojure/core_test/interpose.cljc b/test/clojure/core_test/interpose.cljc index aa04eea4..bc4f0a9a 100644 --- a/test/clojure/core_test/interpose.cljc +++ b/test/clojure/core_test/interpose.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.interpose - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists - clojure.core/interpose + interpose (deftest test-interpose (testing "common cases" (is (fn? (interpose "a"))) diff --git a/test/clojure/core_test/juxt.cljc b/test/clojure/core_test/juxt.cljc index 72177405..ca06c21b 100644 --- a/test/clojure/core_test/juxt.cljc +++ b/test/clojure/core_test/juxt.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.juxt - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists juxt diff --git a/test/clojure/core_test/key.cljc b/test/clojure/core_test/key.cljc index 1d5b678b..b0efa843 100644 --- a/test/clojure/core_test/key.cljc +++ b/test/clojure/core_test/key.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.key - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists key diff --git a/test/clojure/core_test/keys.cljc b/test/clojure/core_test/keys.cljc index 63b0dca1..ab50ee2b 100644 --- a/test/clojure/core_test/keys.cljc +++ b/test/clojure/core_test/keys.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.keys - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/keys +(when-var-exists keys (deftest test-keys (testing "common" (is (= nil (keys nil))) @@ -19,5 +18,4 @@ (is (= '([:a :b]) (keys {[:a :b] :c}))) (is (= '((:a)) (keys {(keys {:a :b}) :c}))) #?@(:cljs [(is (thrown? js/Error (keys 0)))] - :cljr [(is (thrown? Exception (keys 0)))] - :clj [(is (thrown? Exception (keys 0)))])))) + :default [(is (thrown? Exception (keys 0)))])))) diff --git a/test/clojure/core_test/keyword.cljc b/test/clojure/core_test/keyword.cljc index 88274600..b8ce34e8 100644 --- a/test/clojure/core_test/keyword.cljc +++ b/test/clojure/core_test/keyword.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.keyword - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/keyword +(when-var-exists keyword (deftest test-keyword ;; "Symbols begin with a non-numeric character and can contain ;; alphanumeric characters and *, +, !, -, _, ', ?, <, > and = @@ -81,32 +81,26 @@ (is (nil? (namespace (keyword nil "hi")))) (is (= #?(:jank nil :default "") (namespace (keyword "" "hi")))) ;; But if name is nil, then maybe we throw or maybe we don't - #?(:cljs nil ; CLJS creates a keyword that isn't - ; readable (symbol part is null string: ":abc/") - :jank nil + #?(; CLJS creates a keyword that isn't + ; readable (symbol part is null string: ":abc/") + :cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + + :jank + nil + :default - (is (thrown? #?(:clj Exception :cljr Exception) (keyword "abc" nil)))) + (is (thrown? Exception (keyword "abc" nil)))) - #?@(:clj - ;; In Clojure JVM, two arg version requires namespace and - ;; symbol to be a string, not a symbol or keyword like the one - ;; arg version. - [(is (thrown? #?(:clj Exception) (keyword 'abc "abc"))) - (is (thrown? #?(:clj Exception) (keyword "abc" 'abc))) - (is (thrown? #?(:clj Exception) (keyword :abc "abc"))) - (is (thrown? #?(:clj Exception) (keyword "abc" :abc)))] - :cljr - ;; In Clojure JVM, two arg version requires namespace and - ;; symbol to be a string, not a symbol or keyword like the one - ;; arg version. - [(is (thrown? #?(:cljr Exception) (keyword 'abc "abc"))) - (is (thrown? #?(:cljr Exception) (keyword "abc" 'abc))) - (is (thrown? #?(:cljr Exception) (keyword :abc "abc"))) - (is (thrown? #?(:cljr Exception) (keyword "abc" :abc)))] - :jank [] - :default - ;; IMO, CLJS gets this right + #?@(:jank [] + :cljs [(is (= :abc/abc (keyword 'abc "abc"))) (is (= :abc/abc (keyword "abc" 'abc))) (is (= :abc/abc (keyword :abc "abc"))) - (is (= :abc/abc (keyword "abc" :abc)))]))) + (is (= :abc/abc (keyword "abc" :abc)))] + :default + [(is (thrown? Exception (keyword 'abc "abc"))) + (is (thrown? Exception (keyword "abc" 'abc))) + (is (thrown? Exception (keyword :abc "abc"))) + (is (thrown? Exception (keyword "abc" :abc)))]))) From 9b603ccc12558d714a472897d007870da57bb33e Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 17:02:26 -0500 Subject: [PATCH 17/51] Some more --- test/clojure/core_test/keyword_qmark.cljc | 17 +++++++++-------- test/clojure/core_test/last.cljc | 17 +++++++---------- test/clojure/core_test/list_qmark.cljc | 9 +++++---- test/clojure/core_test/long.cljc | 7 ++++--- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/test/clojure/core_test/keyword_qmark.cljc b/test/clojure/core_test/keyword_qmark.cljc index d97e0456..0ded1ba9 100644 --- a/test/clojure/core_test/keyword_qmark.cljc +++ b/test/clojure/core_test/keyword_qmark.cljc @@ -1,22 +1,23 @@ (ns clojure.core-test.keyword-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/keyword? +(when-var-exists keyword? (deftest test-keyword? (are [expected x] (= expected (keyword? x)) true :a-keyword - false 'a-symbol true :a-ns/a-keyword + + false 'a-symbol false 'a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/last.cljc b/test/clojure/core_test/last.cljc index 93a197d4..56584f0e 100644 --- a/test/clojure/core_test/last.cljc +++ b/test/clojure/core_test/last.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.last (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/last +(when-var-exists last (deftest test-last (testing "common" (is (= 9 (last (range 0 10)))) @@ -17,11 +17,8 @@ (is (= nil (last nil)))) (testing "exceptions" - #?@(:clj + #?@(:cljs + [(is (thrown? js/Error (last 0)))] + :default [(is (thrown? Exception (last \a))) - (is (thrown? Exception (last 0)))] - :cljr - [(is (thrown? Exception (last \a))) - (is (thrown? Exception (last 0)))] - :cljs - [(is (thrown? js/Error (last 0)))])))) + (is (thrown? Exception (last 0)))])))) diff --git a/test/clojure/core_test/list_qmark.cljc b/test/clojure/core_test/list_qmark.cljc index 2750896a..85643c23 100644 --- a/test/clojure/core_test/list_qmark.cljc +++ b/test/clojure/core_test/list_qmark.cljc @@ -1,14 +1,15 @@ (ns clojure.core-test.list-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/list? +(when-var-exists list? (deftest test-list? (are [expected x] (= expected (list? x)) + true '(1 2 3) + false [1 2 3] false (sorted-map :a 1) false (sorted-set :a) - true '(1 2 3) false (hash-map :a 1) false (array-map :a 1) false (hash-set :a) diff --git a/test/clojure/core_test/long.cljc b/test/clojure/core_test/long.cljc index e8967e53..4ae25f9b 100644 --- a/test/clojure/core_test/long.cljc +++ b/test/clojure/core_test/long.cljc @@ -1,15 +1,16 @@ (ns clojure.core-test.long - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/long +(when-var-exists long (deftest test-long ;; There is no platform independent predicate to test specifically ;; for a long. In ClojureJVM, it's an instance of `java.lang.Long`, ;; but there is no predicate for it. Here, we just test whether it's ;; a fixed-length integer of some sort. (is (int? (int 0))) - #?(:clj (is (instance? java.lang.Long (long 0)))) + #?(:clj (is (instance? java.lang.Long (long 0))) + :cljr (is (instance? System.Int64 (long 0)))) ;; Check conversions and rounding from other numeric types (are [expected x] (= expected (long x)) From d2404b00a47b00f954a5a8a1f26d0f8d4d1008ad Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Fri, 14 Nov 2025 17:08:59 -0500 Subject: [PATCH 18/51] WIP --- test/clojure/core_test/long.cljc | 38 +++++++++++++-------------- test/clojure/core_test/map_qmark.cljc | 13 ++++----- test/clojure/core_test/mapcat.cljc | 1 - 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/test/clojure/core_test/long.cljc b/test/clojure/core_test/long.cljc index 4ae25f9b..f2de4e1b 100644 --- a/test/clojure/core_test/long.cljc +++ b/test/clojure/core_test/long.cljc @@ -15,38 +15,38 @@ ;; Check conversions and rounding from other numeric types (are [expected x] (= expected (long x)) -9223372036854775808 -9223372036854775808 - 0 0 - 9223372036854775807 9223372036854775807 - 1 1N - 0 0N - -1 -1N - 1 1.0M - 0 0.0M - -1 -1.0M - 1 1.1 - -1 -1.1 - 1 1.9 + 0 0 + 9223372036854775807 9223372036854775807 + 1 1N + 0 0N + -1 -1N + 1 1.0M + 0 0.0M + -1 -1.0M + 1 1.1 + -1 -1.1 + 1 1.9 + 1 1.1M + -1 -1.1M #?@(:cljs [] :default [1 3/2 -1 -3/2 0 1/10 - 0 -1/10]) - 1 1.1M - -1 -1.1M) + 0 -1/10])) - #?@(:cljs [] ; In CLJS all numbers are really doubles + #?@(:cljs [] ; In CLJS all numbers are double-precision floating point :default ;; `long` throws outside the range of 9223372036854775807 ... -9223372036854775808 - [(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (long -9223372036854775809))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (long 9223372036854775808)))]) + [(is (thrown? #?(:cljs :default :default Exception) (long -9223372036854775809))) + (is (thrown? #?(:cljs :default :default Exception) (long 9223372036854775808)))]) ;; Check handling of other types #?@(:cljs - [(is (= 0 (long "0"))) ; JavaScript peeking through? + [(is (= 0 (long "0"))) ; JavaScript peeking through? (is (NaN? (long :0))) (is (NaN? (long [0]))) - (is (= 0 (long nil)))] ; Hm. Interesting. + (is (= 0 (long nil)))] ; Hm. Interesting. :cljr [(is (= 0 (long "0"))) (is (thrown? Exception (long :0))) diff --git a/test/clojure/core_test/map_qmark.cljc b/test/clojure/core_test/map_qmark.cljc index 5ba9c79a..69f3790f 100644 --- a/test/clojure/core_test/map_qmark.cljc +++ b/test/clojure/core_test/map_qmark.cljc @@ -1,16 +1,17 @@ (ns clojure.core-test.map-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/map? +(when-var-exists map? (deftest test-map? (are [expected x] (= expected (map? x)) - false [1 2 3] true (sorted-map :a 1) - false(sorted-set :a) - false '(1 2 3) true (hash-map :a 1) true (array-map :a 1) + + false [1 2 3] + false(sorted-set :a) + false '(1 2 3) false (hash-set :a) false (seq [1 2 3]) false (seq (sorted-map :a 1)) diff --git a/test/clojure/core_test/mapcat.cljc b/test/clojure/core_test/mapcat.cljc index 345c45b8..de6ed641 100644 --- a/test/clojure/core_test/mapcat.cljc +++ b/test/clojure/core_test/mapcat.cljc @@ -2,7 +2,6 @@ (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) - (when-var-exists mapcat (deftest test-mapcat (testing "nil input" From 120563202726ff1b80ba412915ccb0762f6fbeff Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 11:33:12 -0500 Subject: [PATCH 19/51] Next round --- test/clojure/core_test/max.cljc | 22 +++++++++++----------- test/clojure/core_test/merge.cljc | 12 ++++++------ test/clojure/core_test/min.cljc | 26 +++++++++++++------------- test/clojure/core_test/minus.cljc | 20 ++++++++++++-------- 4 files changed, 42 insertions(+), 38 deletions(-) diff --git a/test/clojure/core_test/max.cljc b/test/clojure/core_test/max.cljc index 71abcf4d..df3c0abb 100644 --- a/test/clojure/core_test/max.cljc +++ b/test/clojure/core_test/max.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.max - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/max +(when-var-exists max (deftest test-max (are [expected x y] (= expected (max x y) (max y x)) 2 1 2 @@ -12,12 +12,12 @@ 2.0 1.0 2.0 2.0 1 2.0 2 1.0 2 - #?@(:cljs [] - :default - [1 1/2 1]) ##Inf 1 ##Inf 1 1 ##-Inf - ##Inf ##-Inf ##Inf) + ##Inf ##-Inf ##Inf + #?@(:cljs [] + :default + [1 1/2 1])) ;; Single arg just returns argument (is (= 1 (max 1))) @@ -33,13 +33,13 @@ #?@(:cljs ;; There are bugs here: ;; https://clojure.atlassian.net/browse/CLJS-3425 - [(is (= 1 (max ##NaN 1))) ; Bug - (is (NaN? (max 1 ##NaN))) ; Works as in JVM + [(is (= 1 (max ##NaN 1))) ; Bug + (is (NaN? (max 1 ##NaN))) ; Works as in JVM (is (NaN? (max 1 2 3 4 ##NaN))) - (is (= ##Inf (max ##-Inf ##NaN ##Inf))) ; Bug + (is (= ##Inf (max ##-Inf ##NaN ##Inf))) ; Bug (is (NaN? (max ##NaN))) - (is (= "y" (max "x" "y"))) ; In CLJS "x" and "y" are characters + (is (= "y" (max "x" "y"))) ; In CLJS "x" and "y" are characters (is (= 1 (max nil 1))) (is (= 1 (max 1 nil)))] :default diff --git a/test/clojure/core_test/merge.cljc b/test/clojure/core_test/merge.cljc index 43bdf4e8..e20e40f9 100644 --- a/test/clojure/core_test/merge.cljc +++ b/test/clojure/core_test/merge.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.merge - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/merge +(when-var-exists merge (deftest test-merge (testing "`merge`" (testing "`nil` and empty map behavior" @@ -62,9 +62,9 @@ (is (= {:foo "foo", :bar "bar"} (merge {} [:foo "foo"] [:bar "bar"]))) (is (= {'x 10, 'y 10, 'z 10} (merge {'x 10} ['y 10] ['z 10]))) (testing "In CLJS (unlike other dialects) vectors with >2 arguments are treated as map-entries (where the latter values are ignored)" - #?(:cljs (is (= {:foo :bar} (merge {} [:foo :bar :baz :bar]))), - :clj (is (thrown? java.lang.IllegalArgumentException (merge {} [:foo :bar :baz :bar]))), - :clr (is (thrown? Exception (merge {} [:foo :bar :baz :bar])))))) + #?(:cljs (is (= {:foo :bar} (merge {} [:foo :bar :baz :bar]))), + :clj (is (thrown? java.lang.IllegalArgumentException (merge {} [:foo :bar :baz :bar]))), + :default (is (thrown? Exception (merge {} [:foo :bar :baz :bar])))))) (testing "atomic values in position 2+ throw" #?@(:cljs [(is (thrown? js/Error (merge {} 1))) diff --git a/test/clojure/core_test/min.cljc b/test/clojure/core_test/min.cljc index 309e58ae..51519813 100644 --- a/test/clojure/core_test/min.cljc +++ b/test/clojure/core_test/min.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.min - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/min +(when-var-exists min (deftest test-min (are [expected x y] (= expected (min x y) (min y x)) 1 1 2 @@ -12,17 +12,17 @@ 1.0 1.0 2.0 1 1 2.0 1.0 1.0 2 - #?@(:cljs [] - :default - [1/2 1/2 1]) 1 1 ##Inf ##-Inf 1 ##-Inf - ##-Inf ##-Inf ##Inf) + ##-Inf ##-Inf ##Inf + #?@(:cljs [] + :default + [1/2 1/2 1])) ;; Single arg just returns argument (is (= 1 (min 1))) (is (= 2 (min 2))) - (is (= "x" (min "x"))) ; doesn't check single arg for Number + (is (= "x" (min "x"))) ; doesn't check single arg for Number ;; Multi-arg (is (= 1 (min 1 2 3 4 5))) @@ -33,14 +33,14 @@ #?@(:cljs ;; There are bugs here: ;; https://clojure.atlassian.net/browse/CLJS-3425 - [(is (= 1 (min ##NaN 1))) ; Bug + [(is (= 1 (min ##NaN 1))) ; Bug (is (NaN? (min 1 ##NaN))) (is (NaN? (min 1 2 3 4 ##NaN))) (is (= ##Inf (min ##-Inf ##NaN ##Inf))) ; Bug (is (NaN? (min ##NaN))) (is (= "x" (min "x" "y"))) - (is (nil? (min nil 1))) ; nil acts like zero + (is (nil? (min nil 1))) ; nil acts like zero (is (nil? (min 1 nil)))] :default [(is (NaN? (min ##NaN 1))) @@ -49,6 +49,6 @@ (is (NaN? (min ##-Inf ##NaN ##Inf))) (is (NaN? (min ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (min "x" "y"))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (min nil 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (min 1 nil)))]))) + (is (thrown? #?(:cljs :default :default Exception) (min "x" "y"))) + (is (thrown? #?(:cljs :default :default Exception) (min nil 1))) + (is (thrown? #?(:cljs :default :default Exception) (min 1 nil)))]))) diff --git a/test/clojure/core_test/minus.cljc b/test/clojure/core_test/minus.cljc index 59b6ae24..9d38b357 100644 --- a/test/clojure/core_test/minus.cljc +++ b/test/clojure/core_test/minus.cljc @@ -1,7 +1,8 @@ +#_{:clj-kondo/ignore [:unused-namespace]} (ns clojure.core-test.minus - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest testing is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/- (deftest test-- @@ -104,7 +105,10 @@ (is (thrown? Exception (- r/max-int -1)))])) - #?(:cljs nil ; CLJS doesn't support ratios + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil ; CLJS doesn't support ratios + :default (testing "rationals" (are [expected x y] (= expected (- x y)) @@ -152,16 +156,16 @@ (is (thrown? Exception (- nil 1/2))) (is (thrown? Exception (- 1/2 nil))) - (is (- r/max-int -1/2)) ; test that these don't throw + (is (- r/max-int -1/2)) ; test that these don't throw (is (- r/min-int 1/2)) (is (= (- r/max-double) (- (- r/max-double) 1/2))) ; should silently round (is (= r/max-double (- r/max-double -1/2))) (is (= -0.5 (- r/min-double 1/2))) (is (= 0.5 (- r/min-double -1/2))) - (is (instance? clojure.lang.Ratio (- 0 1/3))) - (is (instance? clojure.lang.Ratio (- 0N 1/3))) - (is (instance? clojure.lang.Ratio (- 1 1/3))) - (is (instance? clojure.lang.Ratio (- 1N 1/3))) + (is (ratio? (- 0 1/3))) + (is (ratio? (- 0N 1/3))) + (is (ratio? (- 1 1/3))) + (is (ratio? (- 1N 1/3))) ;; Note that we use `double?` here because JVM Clojure uses ;; java.lang.Double instead of clojure.lang.Double and we'd ;; like to keep this test as generic as possible. From 3315e4f1ca9cb633a5056180c9af765ef27fee82 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 11:47:44 -0500 Subject: [PATCH 20/51] Another round --- test/clojure/core_test/mod.cljc | 9 +++--- test/clojure/core_test/name.cljc | 8 +++--- test/clojure/core_test/namespace.cljc | 8 +++--- test/clojure/core_test/nan_qmark.cljc | 7 +++-- test/clojure/core_test/neg_int_qmark.cljc | 34 +++++++++++------------ test/clojure/core_test/neg_qmark.cljc | 29 +++++++++---------- test/clojure/core_test/next.cljc | 8 +++--- test/clojure/core_test/nfirst.cljc | 29 ++++++++----------- 8 files changed, 65 insertions(+), 67 deletions(-) diff --git a/test/clojure/core_test/mod.cljc b/test/clojure/core_test/mod.cljc index 77202cda..a0dd5b74 100644 --- a/test/clojure/core_test/mod.cljc +++ b/test/clojure/core_test/mod.cljc @@ -1,9 +1,10 @@ (ns clojure.core-test.mod - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]] - [clojure.core-test.portability :as p])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability + #?(:cljs :refer-macros :default :refer) [when-var-exists] + :as p])) -(when-var-exists clojure.core/mod +(when-var-exists mod (deftest test-mod (are [type-pred expected x y] (let [r (mod x y)] (and (type-pred r) diff --git a/test/clojure/core_test/name.cljc b/test/clojure/core_test/name.cljc index 53ee78f4..d7608e17 100644 --- a/test/clojure/core_test/name.cljc +++ b/test/clojure/core_test/name.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.name - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/name +(when-var-exists name (deftest test-name (are [expected x] (= expected (name x)) "abc" "abc" @@ -13,4 +13,4 @@ "abc*+!-_'?<>=" :abc/abc*+!-_'?<>= "abc*+!-_'?<>=" 'abc/abc*+!-_'?<>=) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (name nil))))) + (is (thrown? #?(:cljs :default :default Exception) (name nil))))) diff --git a/test/clojure/core_test/namespace.cljc b/test/clojure/core_test/namespace.cljc index 04213506..5d8f342a 100644 --- a/test/clojure/core_test/namespace.cljc +++ b/test/clojure/core_test/namespace.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.namespace - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/namespace +(when-var-exists namespace (deftest test-namespace (are [expected sym-or-kw] (= expected (namespace sym-or-kw)) "clojure.core" 'clojure.core/+ @@ -11,4 +11,4 @@ nil :abc nil 'abc) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (namespace nil))))) + (is (thrown? #?(:cljs :default :default Exception) (namespace nil))))) diff --git a/test/clojure/core_test/nan_qmark.cljc b/test/clojure/core_test/nan_qmark.cljc index d8179a00..034fbd94 100644 --- a/test/clojure/core_test/nan_qmark.cljc +++ b/test/clojure/core_test/nan_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.nan-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/NaN? +(when-var-exists NaN? (deftest test-NaN? #?@(:cljs [(is (not (NaN? nil))) @@ -24,4 +24,5 @@ (double -1.0) false ##Inf false ##-Inf false + ##NaN true))) diff --git a/test/clojure/core_test/neg_int_qmark.cljc b/test/clojure/core_test/neg_int_qmark.cljc index 4fb3e16f..ae970207 100644 --- a/test/clojure/core_test/neg_int_qmark.cljc +++ b/test/clojure/core_test/neg_int_qmark.cljc @@ -1,20 +1,19 @@ (ns clojure.core-test.neg-int-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/neg-int? +(when-var-exists neg-int? (deftest test-neg-int? (are [expected x] (= expected (neg-int? x)) + true -1 + true r/min-int + false 0 false 1 - true -1 false r/max-int - true r/min-int false 0.0 false 1.0 - #?@(:cljs [true -1.0] - :default [false -1.0]) false r/max-double false r/min-double false ##Inf @@ -22,17 +21,8 @@ false ##NaN false 0N false 1N - #?@(:cljs [true -1N] - :default [false -1N]) - #?@(:cljs [] - :default - [false 0/2 - false 1/2 - false -1/2]) false 0.0M false 1.0M - #?@(:cljs [true -1.0M] - :default [false -1.0M]) false nil false true false false @@ -50,4 +40,14 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [true -1.0 + true -1.0M + true -1N] + :default [false -1.0 + false -1.0M + false -1N + false 0/2 + false 1/2 + false -1/2])))) diff --git a/test/clojure/core_test/neg_qmark.cljc b/test/clojure/core_test/neg_qmark.cljc index c2de790c..10e4cfa0 100644 --- a/test/clojure/core_test/neg_qmark.cljc +++ b/test/clojure/core_test/neg_qmark.cljc @@ -1,40 +1,41 @@ (ns clojure.core-test.neg-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/neg? +(when-var-exists neg? (deftest test-neg? (are [expected x] (= expected (neg? x)) - false 0 - false 1 + true -1.0 true -1 true r/min-int + true ##-Inf + true -1N + true -1.0M + + false 0 + false 1 false r/max-int false 0.0 false 1.0 - true -1.0 false r/min-double false r/max-double false ##Inf - true ##-Inf false ##NaN false 0N false 1N - true -1N + false 0.0M + false 1.0M #?@(:cljs [] :default [false 0/2 false 1/2 - true -1/2]) - false 0.0M - false 1.0M - true -1.0M) + true -1/2])) #?@(:cljs [(is (not (neg? nil))) - (is (not (neg? false))) ; Prints warning - (is (not (neg? true)))] ; Prints warning + (is (not (neg? false))) ; Prints warning + (is (not (neg? true)))] ; Prints warning :default [(is (thrown? Exception (neg? nil))) (is (thrown? Exception (neg? false))) diff --git a/test/clojure/core_test/next.cljc b/test/clojure/core_test/next.cljc index 7d951afc..45f3b3c6 100644 --- a/test/clojure/core_test/next.cljc +++ b/test/clojure/core_test/next.cljc @@ -1,12 +1,12 @@ (ns clojure.core-test.next - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/next +(when-var-exists next (deftest test-next (is (= '(1 2 3 4 5 6 7 8 9) (next (range 0 10)))) (is (= '(2 3 4 5 6 7 8 9) (next (next (range 0 10))))) - (is (= 1 (first (next (range))))) ; infinite lazy seq + (is (= 1 (first (next (range))))) (is (= '(2 3) (next [1 2 3]))) (is (nil? (next nil))) (is (nil? (next '()))) diff --git a/test/clojure/core_test/nfirst.cljc b/test/clojure/core_test/nfirst.cljc index 01303336..017d3a64 100644 --- a/test/clojure/core_test/nfirst.cljc +++ b/test/clojure/core_test/nfirst.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.nfirst (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nfirst +(when-var-exists nfirst (deftest test-nfirst (testing "common" (is (= nil (nfirst '()))) @@ -21,18 +21,13 @@ (is (= '(\b \c \d) (nfirst #{"abcd"})))) (testing "exceptions" - #?@(:clj + #?@(:cljs + [(is (thrown? js/Error (nfirst (range 0 10)))) + (is (thrown? js/Error (nfirst (range)))) + (is (thrown? js/Error (nfirst [:a :b :c]))) + (is (thrown? js/Error (nfirst '(:a :b :c))))] + :default [(is (thrown? Exception (nfirst (range 0 10)))) - (is (thrown? Exception (nfirst (range)))) ; infinite lazy seq - (is (thrown? Exception (nfirst [:a :b :c]))) - (is (thrown? Exception (nfirst '(:a :b :c))))] - :cljr - [(is (thrown? Exception (nfirst (range 0 10)))) - (is (thrown? Exception (nfirst (range)))) ; infinite lazy seq - (is (thrown? Exception (nfirst [:a :b :c]))) - (is (thrown? Exception (nfirst '(:a :b :c))))] - :cljs - [(is (thrown? js/Error (nfirst (range 0 10)))) - (is (thrown? js/Error (nfirst (range)))) ; infinite lazy seq - (is (thrown? js/Error (nfirst [:a :b :c]))) - (is (thrown? js/Error (nfirst '(:a :b :c))))])))) + (is (thrown? Exception (nfirst (range)))) + (is (thrown? Exception (nfirst [:a :b :c]))) + (is (thrown? Exception (nfirst '(:a :b :c))))])))) From b7e3b54a480e5ab023eaa7085f2ac9d099eb3a4d Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 11:53:51 -0500 Subject: [PATCH 21/51] 4 more --- test/clojure/core_test/nil_qmark.cljc | 6 +++--- test/clojure/core_test/nnext.cljc | 8 ++++---- test/clojure/core_test/not.cljc | 9 +++++---- test/clojure/core_test/not_empty.cljc | 15 ++++++--------- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/test/clojure/core_test/nil_qmark.cljc b/test/clojure/core_test/nil_qmark.cljc index ded2d5a4..1dd3f249 100644 --- a/test/clojure/core_test/nil_qmark.cljc +++ b/test/clojure/core_test/nil_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.nil-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nil? +(when-var-exists nil? (deftest test-nil? (testing "common" (are [in ex] (= (nil? in) ex) diff --git a/test/clojure/core_test/nnext.cljc b/test/clojure/core_test/nnext.cljc index e6773aa1..4f202774 100644 --- a/test/clojure/core_test/nnext.cljc +++ b/test/clojure/core_test/nnext.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.nnext (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nnext +(when-var-exists nnext (deftest test-nnext (testing "common" (is (= '(2 3 4 5 6 7 8 9) (nnext (range 0 10)))) - (is (= 2 (first (nnext (range))))) ; infinite lazy seq + (is (= 2 (first (nnext (range))))) (is (= '(3) (nnext [1 2 3]))) (is (= '([:c 3] [:d 4]) (nnext {:a 1, :b 2, :c 3, :d 4}))) (is (nil? (nnext nil))) diff --git a/test/clojure/core_test/not.cljc b/test/clojure/core_test/not.cljc index bf29909b..5112fdf1 100644 --- a/test/clojure/core_test/not.cljc +++ b/test/clojure/core_test/not.cljc @@ -1,15 +1,16 @@ (ns clojure.core-test.not - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/not +(when-var-exists not (deftest test-not (testing "common" (are [given expected] (= expected (not given)) nil true - true false false true + true false #?(:clj (Object.) + :cljr (Object.) :cljs #js {} :default :anything) false)) diff --git a/test/clojure/core_test/not_empty.cljc b/test/clojure/core_test/not_empty.cljc index d9849cba..30d59bd7 100644 --- a/test/clojure/core_test/not_empty.cljc +++ b/test/clojure/core_test/not_empty.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.not-empty (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/not-empty +(when-var-exists not-empty (deftest test-not-empty (testing "common" (is (= nil (not-empty {}))) @@ -19,9 +19,6 @@ #?@(:cljs [(is (= "a" (not-empty \a))) (is (thrown? js/Error (not-empty 0))) (is (thrown? js/Error (not-empty 0.0)))] - :cljr [(is (thrown? Exception (not-empty \a))) - (is (thrown? Exception (not-empty 0))) - (is (thrown? Exception (not-empty 0.0)))] - :clj [(is (thrown? Exception (not-empty \a))) - (is (thrown? Exception (not-empty 0))) - (is (thrown? Exception (not-empty 0.0)))])))) + :default [(is (thrown? Exception (not-empty \a))) + (is (thrown? Exception (not-empty 0))) + (is (thrown? Exception (not-empty 0.0)))])))) From 41208d89fa540ac48860f2e5d2c3a2ae4d75c312 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 12:09:55 -0500 Subject: [PATCH 22/51] mooooooore --- test/clojure/core_test/not_eq.cljc | 12 ++++---- test/clojure/core_test/nth.cljc | 18 +++++------ test/clojure/core_test/nthnext.cljc | 12 ++++---- test/clojure/core_test/nthrest.cljc | 12 ++++---- test/clojure/core_test/num.cljc | 6 ++-- test/clojure/core_test/number_qmark.cljc | 20 ++++++------ test/clojure/core_test/number_range.cljc | 4 +-- test/clojure/core_test/numerator.cljc | 20 ++++++------ test/clojure/core_test/odd_qmark.cljc | 8 ++--- test/clojure/core_test/or.cljc | 6 ++-- test/clojure/core_test/parse_boolean.cljc | 37 ++++++++--------------- 11 files changed, 72 insertions(+), 83 deletions(-) diff --git a/test/clojure/core_test/not_eq.cljc b/test/clojure/core_test/not_eq.cljc index 6ae240d5..31ed2dd8 100644 --- a/test/clojure/core_test/not_eq.cljc +++ b/test/clojure/core_test/not_eq.cljc @@ -1,16 +1,16 @@ (ns clojure.core-test.not-eq (:require [clojure.core-test.eq :as eq] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]] [clojure.test :refer [deftest is testing]])) -(when-var-exists clojure.core/not= +(when-var-exists not= (deftest test-not-eq (eq/tests (complement not=)) ;; There is some arguably buggy behavior in JVM Clojure with not= ;; https://ask.clojure.org/index.php/14298/incorrect-result-when-evaluating-not-on-nans (testing "If ##NaNs are =" - #?(:bb (is (not= ##NaN ##NaN)) - :clj (is (not (not= ##NaN ##NaN))) - :cljr (is (not (not= ##NaN ##NaN))) - :cljs (is (not= ##NaN ##NaN)))))) + #?(:bb (is (not= ##NaN ##NaN)) + :clj (is (not (not= ##NaN ##NaN))) + :cljr (is (not (not= ##NaN ##NaN))) + :default (is (not= ##NaN ##NaN)))))) diff --git a/test/clojure/core_test/nth.cljc b/test/clojure/core_test/nth.cljc index df3dbb56..a7eae0fd 100644 --- a/test/clojure/core_test/nth.cljc +++ b/test/clojure/core_test/nth.cljc @@ -1,22 +1,22 @@ (ns clojure.core-test.nth - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nth +(when-var-exists nth (deftest test-nth (is (= 0 (nth (range 0 10) 0))) (is (= 5 (nth (range 0 10) 5))) (is (= 5 (nth [0 1 2 3 4 5 6 7 8 9] 5))) - (is (= 5 (nth (range) 5))) ; infinite lazy range + (is (= 5 (nth (range) 5))) - ; Unexpected. `nil` not treated like `(), which would throw + ; Unexpected. `nil` not treated like `()`, which would throw (is (nil? (nth nil 10))) ;; `nth` throws if out of range - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (nth [0 1 2] -1))) - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (nth [0 1 2] 10))) - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (nth [0 1 2] nil))) - (is (thrown? #?(:cljs :default, :clj Exception :cljr Exception) (nth nil nil))) + (is (thrown? #?(:cljs :default :default Exception) (nth [0 1 2] -1))) + (is (thrown? #?(:cljs :default :default Exception) (nth [0 1 2] 10))) + (is (thrown? #?(:cljs :default :default Exception) (nth [0 1 2] nil))) + (is (thrown? #?(:cljs :default :default Exception) (nth nil nil))) ;; `nth` accepts a default argument (is (= :default (nth nil 0 :default))) diff --git a/test/clojure/core_test/nthnext.cljc b/test/clojure/core_test/nthnext.cljc index a7daa80b..b28aa2f4 100644 --- a/test/clojure/core_test/nthnext.cljc +++ b/test/clojure/core_test/nthnext.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.nthnext - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nthnext +(when-var-exists nthnext (deftest test-nthnext (is (= '(3 4 5 6 7 8 9) (nthnext (range 0 10) 3))) (is (= [3 4 5] (nthnext [0 1 2 3 4 5] 3))) @@ -15,7 +15,7 @@ (is (nil? (nthnext [] 100))) (is (= (range 3) (nthnext (range 3) -1))) - (is (nil? (nthnext nil nil))) ; Surprising. Should perhaps throw. + (is (nil? (nthnext nil nil))) ; Surprising ;; Negative tests #?@(:cljs @@ -23,5 +23,5 @@ [(is (= (range 0 10) (nthnext (range 0 10) nil))) (is (= '(0 1 2) (nthnext [0 1 2] nil)))] :default - [(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (nthnext (range 0 10) nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (nthnext [0 1 2] nil)))]))) + [(is (thrown? #?(:cljs :default :default Exception) (nthnext (range 0 10) nil))) + (is (thrown? #?(:cljs :default :default Exception) (nthnext [0 1 2] nil)))]))) diff --git a/test/clojure/core_test/nthrest.cljc b/test/clojure/core_test/nthrest.cljc index eb6ca40a..fe750e5c 100644 --- a/test/clojure/core_test/nthrest.cljc +++ b/test/clojure/core_test/nthrest.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.nthrest - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/nthrest +(when-var-exists nthrest (deftest test-nthrest (is (= '(3 4 5 6 7 8 9) (nthrest (range 0 10) 3))) (is (= [3 4 5] (nthrest [0 1 2 3 4 5] 3))) @@ -27,6 +27,6 @@ (is (= '(0 1 2) (nthrest [0 1 2] nil))) (is (nil? (nthrest nil nil)))] :default - [(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (nthrest (range 0 10) nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (nthrest [0 1 2] nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (nthrest nil nil)))]))) + [(is (thrown? #?(:cljs :default :default Exception) (nthrest (range 0 10) nil))) + (is (thrown? #?(:cljs :default :default Exception) (nthrest [0 1 2] nil))) + (is (thrown? #?(:cljs :default :default Exception) (nthrest nil nil)))]))) diff --git a/test/clojure/core_test/num.cljc b/test/clojure/core_test/num.cljc index 37d58825..3297a838 100644 --- a/test/clojure/core_test/num.cljc +++ b/test/clojure/core_test/num.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.num - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/num +(when-var-exists num (deftest test-num #?@(:cljs [] :clj diff --git a/test/clojure/core_test/number_qmark.cljc b/test/clojure/core_test/number_qmark.cljc index 6a270c64..c0aaa13c 100644 --- a/test/clojure/core_test/number_qmark.cljc +++ b/test/clojure/core_test/number_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.number-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/number? +(when-var-exists number? (deftest test-number? (are [expected x] (= expected (number? x)) true 0 @@ -22,14 +22,10 @@ true 0N true 1N true -1N - #?@(:cljs [] - :default - [true 0/2 - true 1/2 - true -1/2]) true 0.0M true 1.0M true -1.0M + false nil false true false false @@ -47,4 +43,10 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [] + :default + [true 0/2 + true 1/2 + true -1/2])))) diff --git a/test/clojure/core_test/number_range.cljc b/test/clojure/core_test/number_range.cljc index 9025d327..a3f8881c 100644 --- a/test/clojure/core_test/number_range.cljc +++ b/test/clojure/core_test/number_range.cljc @@ -15,8 +15,6 @@ (def ^:const all-ones-int #?(:cljs 0xFFFFFFFF :default -1)) -(def ^:const all-zeros 0) - (def ^:const full-width-checker-pos #?(:cljs 0x55555555 :default 0x5555555555555555)) @@ -29,7 +27,7 @@ :default 1.7976931348623157e+308)) (def ^:const min-double #?(:clj Double/MIN_VALUE - :cljr Double/Epsilon ; NOTE: definitely not Double/MinValue -- ouch! + :cljr Double/Epsilon ; NOTE: definitely not Double/MinValue -- ouch! :cljs js/Number.MIN_VALUE :default 4.9e-324)) diff --git a/test/clojure/core_test/numerator.cljc b/test/clojure/core_test/numerator.cljc index a421c4c0..10b0b0f7 100644 --- a/test/clojure/core_test/numerator.cljc +++ b/test/clojure/core_test/numerator.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.numerator - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/numerator +(when-var-exists numerator (deftest test-numerator #?@(:cljs [] :default @@ -10,10 +10,10 @@ (is (= 2 (numerator 2/3))) (is (= 3 (numerator 3/4)))]) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator 1.0))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator 1N))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator 1.0M))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator ##Inf))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (numerator nil))))) + (is (thrown? #?(:cljs :default :default Exception) (numerator 1))) + (is (thrown? #?(:cljs :default :default Exception) (numerator 1.0))) + (is (thrown? #?(:cljs :default :default Exception) (numerator 1N))) + (is (thrown? #?(:cljs :default :default Exception) (numerator 1.0M))) + (is (thrown? #?(:cljs :default :default Exception) (numerator ##Inf))) + (is (thrown? #?(:cljs :default :default Exception) (numerator ##NaN))) + (is (thrown? #?(:cljs :default :default Exception) (numerator nil))))) diff --git a/test/clojure/core_test/odd_qmark.cljc b/test/clojure/core_test/odd_qmark.cljc index 9addd2af..c5cce0c6 100644 --- a/test/clojure/core_test/odd_qmark.cljc +++ b/test/clojure/core_test/odd_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.odd-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/odd? +(when-var-exists odd? (deftest test-odd? (testing "common" (are [in ex] (= (odd? in) ex) @@ -18,7 +18,7 @@ -120N false)) (testing "invalid" - (are [x] (thrown? #?(:clj Exception :cljr Exception :cljs js/Error) (odd? x)) + (are [x] (thrown? #?(:cljs js/Error :default Exception) (odd? x)) #_:clj-kondo/ignore nil ##Inf ##-Inf diff --git a/test/clojure/core_test/or.cljc b/test/clojure/core_test/or.cljc index 65a148e8..0f0fa020 100644 --- a/test/clojure/core_test/or.cljc +++ b/test/clojure/core_test/or.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.or - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/or +(when-var-exists or (deftest test-or (testing "common" (is (= nil (or))) diff --git a/test/clojure/core_test/parse_boolean.cljc b/test/clojure/core_test/parse_boolean.cljc index 1f3d6a6c..b8de6aee 100644 --- a/test/clojure/core_test/parse_boolean.cljc +++ b/test/clojure/core_test/parse_boolean.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.parse-boolean - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/parse-boolean +(when-var-exists parse-boolean (deftest test-parse-boolean (testing "common" (are [expected x] (= expected (parse-boolean x)) @@ -26,17 +25,16 @@ nil "true ")) (testing "exceptions" - #?(:clj (are [x] (thrown? Exception (parse-boolean x)) - nil - 0 - 0.0 - \a - :key - {} - '() - #{} - []) - :cljr (are [x] (thrown? Exception (parse-boolean x)) + #?(:cljs (are [x] (thrown? js/Error (parse-boolean x)) + nil + 0 + 0.0 + :key + {} + '() + #{} + []) + :default (are [x] (thrown? Exception (parse-boolean x)) nil 0 0.0 @@ -45,13 +43,4 @@ {} '() #{} - []) - :cljs (are [x] (thrown? js/Error (parse-boolean x)) - nil - 0 - 0.0 - :key - {} - '() - #{} []))))) From 156e7f54cf00ac7d34f61359280c2d943821f99b Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 12:15:55 -0500 Subject: [PATCH 23/51] Trickier ones --- test/clojure/core_test/parse_double.cljc | 48 +++++++++------------ test/clojure/core_test/parse_long.cljc | 53 ++++++++++-------------- test/clojure/core_test/parse_uuid.cljc | 24 ++++------- 3 files changed, 48 insertions(+), 77 deletions(-) diff --git a/test/clojure/core_test/parse_double.cljc b/test/clojure/core_test/parse_double.cljc index 74244939..08f8c443 100644 --- a/test/clojure/core_test/parse_double.cljc +++ b/test/clojure/core_test/parse_double.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.parse-double - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/parse-double +(when-var-exists parse-double (deftest test-parse-double (testing "common" (are [expected x] (= expected (parse-double x)) @@ -36,29 +35,20 @@ ##Inf "Infinity" ##-Inf "-Infinity")) (testing "exceptions" - #?(:clj (are [x] (thrown? Exception (parse-double x)) - {} - '() - [] - #{} - \a - :key - 0.0 - 1000)) - #?(:clj (are [x] (thrown? Exception (parse-double x)) - {} - '() - [] - #{} - \a - :key - 0.0 - 1000)) #?(:cljs (are [x] (thrown? js/Error (parse-double x)) - {} - '() - [] - #{} - :key - 0.0 - 1000))))) + {} + '() + [] + #{} + :key + 0.0 + 1000)) + #?(:default (are [x] (thrown? Exception (parse-double x)) + {} + '() + [] + #{} + \a + :key + 0.0 + 1000))))) diff --git a/test/clojure/core_test/parse_long.cljc b/test/clojure/core_test/parse_long.cljc index 9f42bb01..e574e474 100644 --- a/test/clojure/core_test/parse_long.cljc +++ b/test/clojure/core_test/parse_long.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.parse-long (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/parse-long +(when-var-exists parse-long (deftest test-parse-long (testing "common" (are [expected x] (= expected (parse-long x)) @@ -28,33 +28,24 @@ 12 "+12" -1000 "-1000" -100000000000 "-100000000000" - #?@(:clj [999999999999999999 "999999999999999999"] - :cljs [nil "999999999999999999" - 999999999999999 "999999999999999"]))) + #?@(:cljs [nil "999999999999999999" + 999999999999999 "999999999999999"] + :default [999999999999999999 "999999999999999999"]))) (testing "exceptions" - #?(:clj (are [x] (thrown? Exception (parse-long x)) - {} - '() - [] - #{} - \a - :key - 0.0 - 1000)) - #?(:cljr (are [x] (thrown? Exception (parse-long x)) - {} - '() - [] - #{} - \a - :key - 0.0 - 1000)) #?(:cljs (are [x] (thrown? js/Error (parse-long x)) - {} - '() - [] - #{} - :key - 0.0 - 1000))))) + {} + '() + [] + #{} + :key + 0.0 + 1000)) + #?(:default (are [x] (thrown? Exception (parse-long x)) + {} + '() + [] + #{} + \a + :key + 0.0 + 1000))))) diff --git a/test/clojure/core_test/parse_uuid.cljc b/test/clojure/core_test/parse_uuid.cljc index 8fc3468c..1b4972a7 100644 --- a/test/clojure/core_test/parse_uuid.cljc +++ b/test/clojure/core_test/parse_uuid.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.parse-uuid (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/parse-uuid +(when-var-exists parse-uuid (deftest test-parse-uuid (testing "common" (are [expected x] (= expected (parse-uuid x)) @@ -13,20 +13,18 @@ nil "b6883c0a-0342-4007-9966-bc2dfa6b109eb" nil "ab6883c0a-0342-4007-9966-bc2dfa6b109e") (is (= (parse-uuid "b6883c0a-0342-4007-9966-bc2dfa6b109e") (parse-uuid "B6883C0A-0342-4007-9966-BC2dfa6b109E"))) - (when-var-exists clojure.core/instance? - #?(:clj (is (instance? java.util.UUID (parse-uuid "b6883c0a-0342-4007-9966-bc2dfa6b109e")))) - #?(:cljs (is (instance? cljs.core.UUID (parse-uuid "b6883c0a-0342-4007-9966-bc2dfa6b109e")))))) + (when-var-exists uuid? + (is (uuid? (parse-uuid "b6883c0a-0342-4007-9966-bc2dfa6b109e"))))) (testing "exceptions" - #?(:clj (are [x] (thrown? Exception (parse-uuid x)) + #?(:cljs (are [x] (thrown? js/Error (parse-uuid x)) {} '() [] #{} - \a :key 0.0 1000)) - #?(:cljr (are [x] (thrown? Exception (parse-uuid x)) + #?(:default (are [x] (thrown? Exception (parse-uuid x)) {} '() [] @@ -34,12 +32,4 @@ \a :key 0.0 - 1000)) - #?(:cljs (are [x] (thrown? js/Error (parse-uuid x)) - {} - '() - [] - #{} - :key - 0.0 1000))))) From 2237df4104b4bece59d6196cdd9f3dd11beebaab Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 12:17:15 -0500 Subject: [PATCH 24/51] Fix num --- test/clojure/core_test/num.cljc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/clojure/core_test/num.cljc b/test/clojure/core_test/num.cljc index 3297a838..e0cc1347 100644 --- a/test/clojure/core_test/num.cljc +++ b/test/clojure/core_test/num.cljc @@ -1,5 +1,6 @@ +#_{:clj-kondo/ignore [:unused-referred-var]} (ns clojure.core-test.num - (:require [clojure.test :as t :refer [deftest]] + (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists num From 127f496c7aee42738573704dc68443f0d4b0d1b0 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 12:56:40 -0500 Subject: [PATCH 25/51] Next round --- test/clojure/core_test/partial.cljc | 8 ++-- .../core_test/qualified_ident_qmark.cljc | 15 +++---- .../core_test/qualified_keyword_qmark.cljc | 18 +++++---- .../core_test/qualified_symbol_qmark.cljc | 18 +++++---- test/clojure/core_test/quot.cljc | 19 ++++----- test/clojure/core_test/rand.cljc | 4 +- test/clojure/core_test/rand_int.cljc | 6 +-- test/clojure/core_test/ratio_qmark.cljc | 20 +++++----- test/clojure/core_test/rational_qmark.cljc | 32 ++++++++------- test/clojure/core_test/rationalize.cljc | 10 ++--- test/clojure/core_test/realized_qmark.cljc | 39 +++++++++---------- test/clojure/core_test/reduce.cljc | 14 +++---- test/clojure/core_test/rem.cljc | 19 ++++----- test/clojure/core_test/remove_watch.cljc | 22 ++++++++--- test/clojure/core_test/repeat.cljc | 2 +- test/clojure/core_test/rest.cljc | 8 ++-- test/clojure/core_test/reverse.cljc | 2 +- test/clojure/core_test/reversible_qmark.cljc | 11 +++--- test/clojure/core_test/rseq.cljc | 4 +- test/clojure/core_test/second.cljc | 8 ++-- test/clojure/core_test/select_keys.cljc | 14 +++---- test/clojure/core_test/seq.cljc | 10 ++--- test/clojure/core_test/seq_qmark.cljc | 20 +++++----- test/clojure/core_test/seqable_qmark.cljc | 13 ++++--- test/clojure/core_test/sequential_qmark.cljc | 6 +-- test/clojure/core_test/set.cljc | 19 ++++----- test/clojure/core_test/set_qmark.cljc | 11 +++--- test/clojure/core_test/short.cljc | 14 +++---- test/clojure/core_test/shuffle.cljc | 4 +- 29 files changed, 205 insertions(+), 185 deletions(-) diff --git a/test/clojure/core_test/partial.cljc b/test/clojure/core_test/partial.cljc index 10ec54a7..c25e5b23 100644 --- a/test/clojure/core_test/partial.cljc +++ b/test/clojure/core_test/partial.cljc @@ -1,18 +1,18 @@ (ns clojure.core-test.partial - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn test-fn [& args] (into [] args)) -(when-var-exists clojure.core/partial +(when-var-exists partial (deftest test-partial (let [simple-use (partial inc 2)] (is (= 3 (simple-use)))) (let [lazily-evaluated (partial inc 1 17)] ;; CLJS ignores extra parameters given to apply. E.g., (apply inc 1 17) => 2 #?(:cljs (is (= 2 (lazily-evaluated))) - :default (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (lazily-evaluated))))) + :default (is (thrown? #?(:cljs :default :default Exception) (lazily-evaluated))))) (let [variadic (partial test-fn 1 2 3)] (is (= [1 2 3 4] (variadic 4))) (is (= [1 2 3 4 5] (variadic 4 5)))) diff --git a/test/clojure/core_test/qualified_ident_qmark.cljc b/test/clojure/core_test/qualified_ident_qmark.cljc index ba6180cf..ece21152 100644 --- a/test/clojure/core_test/qualified_ident_qmark.cljc +++ b/test/clojure/core_test/qualified_ident_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.qualified-ident-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/qualified-ident? +(when-var-exists qualified-ident? (deftest test-qualified-ident? (are [expected x] (= expected (qualified-ident? x)) false :a-keyword @@ -13,10 +13,11 @@ false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/qualified_keyword_qmark.cljc b/test/clojure/core_test/qualified_keyword_qmark.cljc index 07404192..c8b908a5 100644 --- a/test/clojure/core_test/qualified_keyword_qmark.cljc +++ b/test/clojure/core_test/qualified_keyword_qmark.cljc @@ -1,22 +1,24 @@ (ns clojure.core-test.qualified-keyword-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/qualified-keyword? +(when-var-exists qualified-keyword? (deftest test-qualified-keyword? (are [expected x] (= expected (qualified-keyword? x)) + true :a-ns/a-keyword + false :a-keyword false 'a-symbol - true :a-ns/a-keyword false 'a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/qualified_symbol_qmark.cljc b/test/clojure/core_test/qualified_symbol_qmark.cljc index c1159341..7a27825f 100644 --- a/test/clojure/core_test/qualified_symbol_qmark.cljc +++ b/test/clojure/core_test/qualified_symbol_qmark.cljc @@ -1,22 +1,24 @@ (ns clojure.core-test.qualified-symbol-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/qualified-symbol? +(when-var-exists qualified-symbol? (deftest test-qualified-symbol? (are [expected x] (= expected (qualified-symbol? x)) + true 'a-ns/a-keyword + false :a-keyword false 'a-symbol false :a-ns/a-keyword - true 'a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/quot.cljc b/test/clojure/core_test/quot.cljc index 26c0333b..ab4167ab 100644 --- a/test/clojure/core_test/quot.cljc +++ b/test/clojure/core_test/quot.cljc @@ -1,8 +1,9 @@ (ns clojure.core-test.quot - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability :as p #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability :as p + #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/quot +(when-var-exists quot (deftest test-quot (are [type-pred expected x y] (let [r (quot x y)] (and (type-pred r) @@ -101,9 +102,9 @@ (is (NaN? (quot 1 ##NaN))) (is (NaN? (quot ##NaN 1)))] :default - [(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot 10 0))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot ##Inf 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot ##-Inf 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot ##NaN 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot 1 ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (quot ##NaN 1)))]))) + [(is (thrown? #?(:cljs :default :default Exception) (quot 10 0))) + (is (thrown? #?(:cljs :default :default Exception) (quot ##Inf 1))) + (is (thrown? #?(:cljs :default :default Exception) (quot ##-Inf 1))) + (is (thrown? #?(:cljs :default :default Exception) (quot ##NaN 1))) + (is (thrown? #?(:cljs :default :default Exception) (quot 1 ##NaN))) + (is (thrown? #?(:cljs :default :default Exception) (quot ##NaN 1)))]))) diff --git a/test/clojure/core_test/rand.cljc b/test/clojure/core_test/rand.cljc index b3370807..19c04cf3 100644 --- a/test/clojure/core_test/rand.cljc +++ b/test/clojure/core_test/rand.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.rand - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability :as p])) -(p/when-var-exists clojure.core/rand +(p/when-var-exists rand (deftest test-rand ;; Generally, we test that the numbers returned pass `double?` and ;; that they are not constant. diff --git a/test/clojure/core_test/rand_int.cljc b/test/clojure/core_test/rand_int.cljc index c2a9b4df..841ce944 100644 --- a/test/clojure/core_test/rand_int.cljc +++ b/test/clojure/core_test/rand_int.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.rand-int - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability :as p])) -(p/when-var-exists clojure.core/rand-int +(p/when-var-exists rand-int (deftest test-rand-int ;; Generally, we test that the numbers returned pass `int?` and ;; that they are not constant. (let [length 100 - limit 2000000000 ; 2 billion + limit 2000000000 x (repeatedly length #(rand-int limit))] (is (every? int? x)) (is (every? pos? x)) diff --git a/test/clojure/core_test/ratio_qmark.cljc b/test/clojure/core_test/ratio_qmark.cljc index fc86fc54..802ba73d 100644 --- a/test/clojure/core_test/ratio_qmark.cljc +++ b/test/clojure/core_test/ratio_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.ratio-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/ratio? +(when-var-exists ratio? (deftest test-ratio? (are [expected x] (= expected (ratio? x)) false 0 @@ -22,11 +22,6 @@ false 0N false 1N false -1N - #?@(:cljs [] - :default - [false 0/2 ; perhaps surprising - true 1/2 - true -1/2]) false 0.0M false 1.0M false -1.0M @@ -47,4 +42,11 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [] + :default + [false 0/2 ; perhaps surprising + true 1/2 + true -1/2 + true (/ 1 2 3)])))) diff --git a/test/clojure/core_test/rational_qmark.cljc b/test/clojure/core_test/rational_qmark.cljc index bf00173f..bfb89b6f 100644 --- a/test/clojure/core_test/rational_qmark.cljc +++ b/test/clojure/core_test/rational_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.rational-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/rational? +(when-var-exists rational? (deftest test-rational? (are [expected x] (= expected (rational? x)) true 0 @@ -11,6 +11,13 @@ true -1 true r/max-int true r/min-int + true 0N + true 1N + true -1N + true 0.0M ; perhaps surprising + true 1.0M ; perhaps surprising + true -1.0M ; perhaps surprising + false 0.0 false 1.0 false -1.0 @@ -19,17 +26,6 @@ false ##Inf false ##-Inf false ##NaN - true 0N - true 1N - true -1N - #?@(:cljs [] - :default - [true 0/2 ; perhaps surprising - true 1/2 - true -1/2]) - true 0.0M ; perhaps surprising - true 1.0M ; perhaps surprising - true -1.0M ; perhaps surprising false nil false true false false @@ -47,4 +43,10 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [] + :default + [true 0/2 ; perhaps surprising + true 1/2 + true -1/2])))) diff --git a/test/clojure/core_test/rationalize.cljc b/test/clojure/core_test/rationalize.cljc index 91037215..303be162 100644 --- a/test/clojure/core_test/rationalize.cljc +++ b/test/clojure/core_test/rationalize.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.rationalize - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/rationalize +(when-var-exists rationalize (deftest test-rationalize (are [expected x] (let [x' (rationalize x)] (and (= expected x') @@ -20,8 +20,8 @@ 1 1.0M 0 0.0M #?@(:cljs [] - :cljr - [3/2 1.5 + :cljr + [3/2 1.5 2476979795053773/2251799813685248 1.1 6004799503160661/18014398509481984 (/ 1.0 3.0) 3/2 1.5M diff --git a/test/clojure/core_test/realized_qmark.cljc b/test/clojure/core_test/realized_qmark.cljc index 90ef232c..ba516025 100644 --- a/test/clojure/core_test/realized_qmark.cljc +++ b/test/clojure/core_test/realized_qmark.cljc @@ -1,7 +1,6 @@ (ns clojure.core-test.realized-qmark - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) ;; You realize the sun doesn't go down ;; It's just an illusion caused by the world spinning 'round @@ -9,16 +8,16 @@ ;; ;; --The Flaming Lips -(when-var-exists clojure.core/realized? +(when-var-exists realized? (deftest test-realized? (testing "`realized?`" ;;; Common cases (testing "What happens when the input is nil?" - (is (thrown? #?(:cljs :default - :clj java.lang.NullPointerException - :cljr Exception) + (is (thrown? #?(:cljs :default + :clj java.lang.NullPointerException + :default Exception) (realized? nil)))) (testing "What happens if it's given all valid inputs?" @@ -79,35 +78,35 @@ (testing "Special case inputs" ;; the deref'd value is not a valid input (when-var-exists delay - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? (deref (delay :delay)))))) (when-var-exists future - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? (deref (future :future))))))) ;;; Edge cases (testing "What happens when the input is an incorrect shape?" - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? :foo))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? "foo"))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? \f))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? 'foo))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? '()))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? '(:foo :bar :baz)))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? []))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? {}))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (realized? #{}))))))) diff --git a/test/clojure/core_test/reduce.cljc b/test/clojure/core_test/reduce.cljc index 3504ddc6..e7dd5f9a 100644 --- a/test/clojure/core_test/reduce.cljc +++ b/test/clojure/core_test/reduce.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.reduce (:require - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]]) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]]) #?(:clj (:import (clojure.lang IReduce)))) (def interop {:int-new (fn [x] (#?(:clj Integer. - :cljr identity + :cljr identity :cljs js/Number.) x)) :Integer #?(:clj Integer/TYPE @@ -35,9 +35,9 @@ (deftest test-reduce (testing "common" (is (nil? (reduce nil nil nil))) - (is (thrown? #?(:clj Exception - :cljr Exception - :cljs js/Error) (reduce nil nil))) + (is (thrown? #?(:cljs js/Error + :default Exception) + (reduce nil nil))) (is (= 6 (reduce + 0 [1 2 3])))) (testing "val is not supplied" @@ -63,8 +63,6 @@ (testing "reduction by type" (let [int-new (interop :int-new) - char-new (interop :char-new) - byte-new (interop :byte-new) arange (range 1 100) ;; enough to cross nodes avec (into [] arange) alist (into () arange) diff --git a/test/clojure/core_test/rem.cljc b/test/clojure/core_test/rem.cljc index 601cdc14..243cdf96 100644 --- a/test/clojure/core_test/rem.cljc +++ b/test/clojure/core_test/rem.cljc @@ -1,8 +1,9 @@ (ns clojure.core-test.rem - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability :as p #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability :as p + #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/rem +(when-var-exists rem (deftest test-rem (are [type-pred expected x y] (let [r (rem x y)] (and (type-pred r) @@ -100,11 +101,11 @@ (is (NaN? (rem 1 ##NaN))) (is (NaN? (rem ##NaN 1)))] :default - [(is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem 10 0))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem ##Inf 1))) + [(is (thrown? #?(:cljs :default :default Exception) (rem 10 0))) + (is (thrown? #?(:cljs :default :default Exception) (rem ##Inf 1))) (is (NaN? (rem 1 ##Inf))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem ##-Inf 1))) + (is (thrown? #?(:cljs :default :default Exception) (rem ##-Inf 1))) (is (NaN? (rem 1 ##-Inf))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem ##NaN 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem 1 ##NaN))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (rem ##NaN 1)))]))) + (is (thrown? #?(:cljs :default :default Exception) (rem ##NaN 1))) + (is (thrown? #?(:cljs :default :default Exception) (rem 1 ##NaN))) + (is (thrown? #?(:cljs :default :default Exception) (rem ##NaN 1)))]))) diff --git a/test/clojure/core_test/remove_watch.cljc b/test/clojure/core_test/remove_watch.cljc index 1f0c7adb..d789dc33 100644 --- a/test/clojure/core_test/remove_watch.cljc +++ b/test/clojure/core_test/remove_watch.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.remove-watch - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/remove-watch +(when-var-exists remove-watch (deftest test-remove-watch (testing "remove watch atoms" (let [messages (volatile! #{}) @@ -48,9 +48,13 @@ {:key :key2 :ref watchable :old 0 :new 1 :watcher :watcher2} {:key :key2 :ref watchable :old 1 :new 2 :watcher :watcher2}})))) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "remove watch vars" + #_{:clj-kondo/ignore [:inline-def]} (def watchable 0) (let [messages (volatile! #{}) @@ -95,7 +99,10 @@ {:key :key2 :ref #'watchable :old 0 :new 1 :watcher :watcher2} {:key :key2 :ref #'watchable :old 1 :new 2 :watcher :watcher2}}))))) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "remove watch refs" (let [messages (volatile! #{}) @@ -139,7 +146,10 @@ {:key :key2 :ref watchable :old 0 :new 1 :watcher :watcher2} {:key :key2 :ref watchable :old 1 :new 2 :watcher :watcher2}}))))) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "remove watch refs" (let [messages (volatile! #{}) diff --git a/test/clojure/core_test/repeat.cljc b/test/clojure/core_test/repeat.cljc index 34c630ae..57b5c727 100644 --- a/test/clojure/core_test/repeat.cljc +++ b/test/clojure/core_test/repeat.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.repeat - (:require [clojure.test :refer [deftest testing are is]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists repeat diff --git a/test/clojure/core_test/rest.cljc b/test/clojure/core_test/rest.cljc index 98aa1496..6ef47a57 100644 --- a/test/clojure/core_test/rest.cljc +++ b/test/clojure/core_test/rest.cljc @@ -1,12 +1,12 @@ (ns clojure.core-test.rest - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/rest +(when-var-exists rest (deftest test-rest (is (= '(1 2 3 4 5 6 7 8 9) (rest (range 0 10)))) (is (= '(2 3 4 5 6 7 8 9) (rest (rest (range 0 10))))) - (is (= 1 (first (rest (range))))) ; Infinite lazy seq + (is (= 1 (first (rest (range))))) (is (= '(2 3) (rest [1 2 3]))) (is (= '() (rest nil))) (is (= '() (rest '()))) diff --git a/test/clojure/core_test/reverse.cljc b/test/clojure/core_test/reverse.cljc index 4324a552..85e5a696 100644 --- a/test/clojure/core_test/reverse.cljc +++ b/test/clojure/core_test/reverse.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.reverse - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists reverse diff --git a/test/clojure/core_test/reversible_qmark.cljc b/test/clojure/core_test/reversible_qmark.cljc index 749a9e32..d7eb5e6d 100644 --- a/test/clojure/core_test/reversible_qmark.cljc +++ b/test/clojure/core_test/reversible_qmark.cljc @@ -1,18 +1,18 @@ (ns clojure.core-test.reversible-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/reversible? +(when-var-exists reversible? (deftest test-reversible? (are [expected x] (= expected (reversible? x)) true [1 2 3] true (sorted-map :a 1) true (sorted-set :a) + false '(1 2 3) false (hash-map :a 1) false (array-map :a 1) false (hash-set :a) - #?(:cljs true :default false) (seq [1 2 3]) false (seq (sorted-map :a 1)) false (seq (sorted-set :a)) false (range 0 10) @@ -26,4 +26,5 @@ false 'a-sym false "a string" false \a - false (object-array 3)))) + false (object-array 3) + #?(:cljs true :default false) (seq [1 2 3])))) diff --git a/test/clojure/core_test/rseq.cljc b/test/clojure/core_test/rseq.cljc index 6f77d9b7..c4ab3dd0 100644 --- a/test/clojure/core_test/rseq.cljc +++ b/test/clojure/core_test/rseq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.rseq - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists rseq @@ -24,6 +24,6 @@ (is (thrown? Exception (rseq 0.0))) (is (thrown? Exception (rseq {:a :b})))])) - (when-var-exists clojure.core/sorted-map + (when-var-exists sorted-map (testing "sorted-map" (is (= '([:c 2] [:b 1] [:a 0]) (rseq (sorted-map :a 0, :b 1, :c 2)))))))) diff --git a/test/clojure/core_test/second.cljc b/test/clojure/core_test/second.cljc index 722eace6..7c5fa53b 100644 --- a/test/clojure/core_test/second.cljc +++ b/test/clojure/core_test/second.cljc @@ -1,11 +1,11 @@ (ns clojure.core-test.second - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/second +(when-var-exists second (deftest test-second (is (= 1 (second (range 0 10)))) - (is (= 1 (second (range)))) ; infinite lazy seq + (is (= 1 (second (range)))) (is (= :b (second [:a :b :c]))) (is (= :b (second '(:a :b :c)))) (is (nil? (second '()))) diff --git a/test/clojure/core_test/select_keys.cljc b/test/clojure/core_test/select_keys.cljc index 4f16d356..caa18282 100644 --- a/test/clojure/core_test/select_keys.cljc +++ b/test/clojure/core_test/select_keys.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.select-keys (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/select-keys +(when-var-exists select-keys (deftest test-select-keys (testing "common" (is (= {} (select-keys nil nil))) @@ -18,9 +18,9 @@ #?@(:cljs [(is (= {} (select-keys "" [:a]))) (is (= {} (select-keys 0 [:a]))) (is (thrown? js/Error (select-keys {} :a)))] - :cljr [(is (= {} (select-keys "" [:a]))) + :cljr [(is (= {} (select-keys "" [:a]))) (is (= {} (select-keys 0 [:a]))) (is (thrown? Exception (select-keys {} :a)))] - :clj [(is (thrown? Exception (select-keys "" [:a]))) - (is (thrown? Exception (select-keys 0 [:a]))) - (is (thrown? Exception (select-keys {} :a)))])))) + :default [(is (thrown? Exception (select-keys "" [:a]))) + (is (thrown? Exception (select-keys 0 [:a]))) + (is (thrown? Exception (select-keys {} :a)))])))) diff --git a/test/clojure/core_test/seq.cljc b/test/clojure/core_test/seq.cljc index 16d31020..43c50afb 100644 --- a/test/clojure/core_test/seq.cljc +++ b/test/clojure/core_test/seq.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.seq - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/seq +(when-var-exists seq (deftest test-seq ;; Sourced via canSeq https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L581 (are [in expected] (= expected (seq in)) @@ -29,8 +29,8 @@ (is (= input-hash-map (into (hash-map) (seq input-hash-map)))) (is (= input-map (into {} (seq input-map)))))) (testing "nonseqables" - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (seq 1))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (seq (fn []))))) + (is (thrown? #?(:cljs :default :default Exception) (seq 1))) + (is (thrown? #?(:cljs :default :default Exception) (seq (fn []))))) (testing "infinite sequences are produced by seq" (let [infinite-seq (seq (range))] (is (seq? infinite-seq)) diff --git a/test/clojure/core_test/seq_qmark.cljc b/test/clojure/core_test/seq_qmark.cljc index ef0de85f..3c324a25 100644 --- a/test/clojure/core_test/seq_qmark.cljc +++ b/test/clojure/core_test/seq_qmark.cljc @@ -1,22 +1,24 @@ (ns clojure.core-test.seq-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/seq? +(when-var-exists seq? (deftest test-seq? (are [expected x] (= expected (seq? x)) + true '(1 2 3) + true (seq [1 2 3]) + true (seq (sorted-map :a 1)) + true (seq (sorted-set :a)) + true (range 0 10) + true (range) + true (rseq [1 2 3]) + false [1 2 3] false (sorted-map :a 1) false (sorted-set :a) - true '(1 2 3) ; lists are naturally seqs false (hash-map :a 1) false (array-map :a 1) false (hash-set :a) - true (seq [1 2 3]) - true (seq (sorted-map :a 1)) - true (seq (sorted-set :a)) - true (range 0 10) - true (range) false nil false 1 false 1N diff --git a/test/clojure/core_test/seqable_qmark.cljc b/test/clojure/core_test/seqable_qmark.cljc index 2fa9d4e9..d16f7764 100644 --- a/test/clojure/core_test/seqable_qmark.cljc +++ b/test/clojure/core_test/seqable_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.seqable-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/seqable? +(when-var-exists seqable? (deftest test-seqable? (are [expected x] (= expected (seqable? x)) true [1 2 3] @@ -18,12 +18,13 @@ true (range 0 10) true (range) true nil + true "a string" + true (object-array 3) + false 1 false 1N false 1.0 false 1.0M false :a-keyword false 'a-sym - true "a string" - #?(:cljs true :default false) \a - true (object-array 3)))) + #?(:cljs true :default false) \a))) diff --git a/test/clojure/core_test/sequential_qmark.cljc b/test/clojure/core_test/sequential_qmark.cljc index 19b137aa..2ad0f398 100644 --- a/test/clojure/core_test/sequential_qmark.cljc +++ b/test/clojure/core_test/sequential_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.sequential-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/sequential? +(when-var-exists sequential? (deftest test-sequential? (are [expected x] (= expected (sequential? x)) ;; lists, vectors, and seqs are sequential diff --git a/test/clojure/core_test/set.cljc b/test/clojure/core_test/set.cljc index 4f40dca6..b936fad5 100644 --- a/test/clojure/core_test/set.cljc +++ b/test/clojure/core_test/set.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.set (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/set +(when-var-exists set (deftest test-set (testing "common" (is (= #{} (set nil))) @@ -16,12 +16,9 @@ (is (= #{:a 1 "a"} (set '(:a 1 "a")))) (is (= #{:a 1 "a"} (set [:a 1 "a"]))) (is (= #{:a 1 "a" [\space]} (set [:a 1 "a" [\space]]))) - #?@(:clj [(is (thrown? Exception (set 1))) - (is (thrown? Exception (set \space))) - (is (thrown? Exception (set :a)))] - :cljr [(is (thrown? Exception (set 1))) - (is (thrown? Exception (set \space))) - (is (thrown? Exception (set :a)))] - :cljs [(is (= #{\space} (set \space))) + #?@(:cljs [(is (= #{\space} (set \space))) (is (thrown? js/Error (set 1))) - (is (thrown? js/Error (set :a)))])))) + (is (thrown? js/Error (set :a)))] + :default [(is (thrown? Exception (set 1))) + (is (thrown? Exception (set \space))) + (is (thrown? Exception (set :a)))])))) diff --git a/test/clojure/core_test/set_qmark.cljc b/test/clojure/core_test/set_qmark.cljc index ea8d5e78..dc8097ff 100644 --- a/test/clojure/core_test/set_qmark.cljc +++ b/test/clojure/core_test/set_qmark.cljc @@ -1,17 +1,18 @@ (ns clojure.core-test.set-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/set? +(when-var-exists set? (deftest test-set? (are [expected x] (= expected (set? x)) + true (sorted-set :a) + true (hash-set :a) + false [1 2 3] false (sorted-map :a 1) - true (sorted-set :a) false '(1 2 3) false (hash-map :a 1) false (array-map :a 1) - true (hash-set :a) false (seq [1 2 3]) false (seq (sorted-map :a 1)) false (seq (sorted-set :a)) diff --git a/test/clojure/core_test/short.cljc b/test/clojure/core_test/short.cljc index 074d8dfd..72ed756b 100644 --- a/test/clojure/core_test/short.cljc +++ b/test/clojure/core_test/short.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.short - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/short +(when-var-exists short (deftest test-short ;; There is no platform independent predicate to test for a ;; short (e.g., `short?`). In ClojureJVM, it's an instance of @@ -24,7 +24,7 @@ 1 1.0M 0 0.0M -1 -1.0M - #?@(:cljs ; short is a dummy cast in CLJS + #?@(:cljs ; short is a dummy cast in CLJS [1.1 1.1 -1.1 -1.1 1.9 1.9] @@ -55,8 +55,8 @@ (is (= :0 (short :0))) (is (= [0] (short [0]))) (is (= nil (short nil)))] - :cljr - [;; `short` throws outside the range of 32767 ... -32768. + :cljr + [;; `short` throws outside the range of 32767 ... -32768. (is (= (short -32768) (short -32768.000001))) (is (thrown? Exception (short -32769))) (is (thrown? Exception (short 32768))) @@ -66,7 +66,7 @@ (is (= (short 0) (short "0"))) (is (thrown? Exception (short :0))) (is (thrown? Exception (short [0]))) - (is (thrown? Exception (short nil)))] + (is (thrown? Exception (short nil)))] :default [;; `short` throws outside the range of 32767 ... -32768. diff --git a/test/clojure/core_test/shuffle.cljc b/test/clojure/core_test/shuffle.cljc index 6a9b424b..3178162f 100644 --- a/test/clojure/core_test/shuffle.cljc +++ b/test/clojure/core_test/shuffle.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.shuffle - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/shuffle (deftest test-shuffle From 94c39ad8bbbfea493f9596ec73e60f39c04120e2 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 13:17:36 -0500 Subject: [PATCH 26/51] more more more! --- test/clojure/core_test/shuffle.cljc | 2 +- .../clojure/core_test/simple_ident_qmark.cljc | 15 +++--- .../core_test/simple_keyword_qmark.cljc | 15 +++--- .../core_test/simple_symbol_qmark.cljc | 17 +++---- test/clojure/core_test/slash.cljc | 47 ++++++++++--------- test/clojure/core_test/some.cljc | 2 +- test/clojure/core_test/some_fn.cljc | 2 +- test/clojure/core_test/some_qmark.cljc | 6 +-- test/clojure/core_test/sort.cljc | 6 +-- test/clojure/core_test/sorted_qmark.cljc | 8 ++-- test/clojure/core_test/star.cljc | 17 ++++--- test/clojure/core_test/star_squote.cljc | 10 ++-- test/clojure/core_test/str.cljc | 20 ++++---- test/clojure/core_test/string_qmark.cljc | 36 +++++++------- test/clojure/core_test/subs.cljc | 22 ++++----- test/clojure/core_test/symbol.cljc | 16 +++---- 16 files changed, 126 insertions(+), 115 deletions(-) diff --git a/test/clojure/core_test/shuffle.cljc b/test/clojure/core_test/shuffle.cljc index 3178162f..e3b6d200 100644 --- a/test/clojure/core_test/shuffle.cljc +++ b/test/clojure/core_test/shuffle.cljc @@ -2,7 +2,7 @@ (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/shuffle +(when-var-exists shuffle (deftest test-shuffle (testing "different collection types" (let [x [1 2 3] diff --git a/test/clojure/core_test/simple_ident_qmark.cljc b/test/clojure/core_test/simple_ident_qmark.cljc index 3dbe32f9..4151c5fc 100644 --- a/test/clojure/core_test/simple_ident_qmark.cljc +++ b/test/clojure/core_test/simple_ident_qmark.cljc @@ -1,22 +1,23 @@ (ns clojure.core-test.simple-ident-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/simple-ident? +(when-var-exists simple-ident? (deftest test-simple-ident? (are [expected x] (= expected (simple-ident? x)) true :a-keyword true 'a-symbol + false :a-ns/a-keyword false 'a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/simple_keyword_qmark.cljc b/test/clojure/core_test/simple_keyword_qmark.cljc index e41a0cc1..70698048 100644 --- a/test/clojure/core_test/simple_keyword_qmark.cljc +++ b/test/clojure/core_test/simple_keyword_qmark.cljc @@ -1,11 +1,12 @@ (ns clojure.core-test.simple-keyword-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/simple-keyword? +(when-var-exists simple-keyword? (deftest test-simple-keyword? (are [expected x] (= expected (simple-keyword? x)) true :a-keyword + false 'a-symbol false :a-ns/a-keyword false 'a-ns/a-keyword @@ -13,10 +14,10 @@ false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/simple_symbol_qmark.cljc b/test/clojure/core_test/simple_symbol_qmark.cljc index 6f7241d7..61754889 100644 --- a/test/clojure/core_test/simple_symbol_qmark.cljc +++ b/test/clojure/core_test/simple_symbol_qmark.cljc @@ -1,22 +1,23 @@ (ns clojure.core-test.simple-symbol-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/simple-symbol? +(when-var-exists simple-symbol? (deftest test-simple-symbol? (are [expected x] (= expected (simple-symbol? x)) - false :a-keyword true 'a-symbol + + false :a-keyword false :a-ns/a-keyword false 'a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/slash.cljc b/test/clojure/core_test/slash.cljc index cd6e9441..532e53fd 100644 --- a/test/clojure/core_test/slash.cljc +++ b/test/clojure/core_test/slash.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.slash - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core// +(when-var-exists / (deftest test-slash (testing "common" (are [expected x y] (= expected (/ x y)) @@ -44,13 +44,13 @@ 5.0 15.0 3 7.5 15.0 2 - 2.0 2.0M 1.0 ; Unexpected downcast to double + 2.0 2.0M 1.0 ; Unexpected downcast to double 1.0 2.0M 2.0 3.0 15.0M 5.0 5.0 15.0M 3.0 7.5 15.0M 2.0 - 2.0 2.0 1.0M ; Unexpected downcast to double + 2.0 2.0 1.0M ; Unexpected downcast to double 1.0 2.0 2.0M 3.0 15.0 5.0M 5.0 15.0 3.0M @@ -114,7 +114,7 @@ ;; Zero arg #?(:cljs nil - :default (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (/)))) + :default (is (thrown? #?(:cljs :default :default Exception) (/)))) ;; Single arg #?(:cljs (is (= 0.5 (/ 2))) @@ -134,7 +134,10 @@ (is (thrown? Exception (/ nil 1))) (is (thrown? Exception (/ 1 nil)))])) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "rationals" (are [expected x y] (= expected (/ x y)) @@ -156,8 +159,8 @@ ;; Multi arg (is (= 362880N (/ 1/1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (/ 1/2 nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (/ nil 1/2))))) + (is (thrown? #?(:cljs :default :default Exception) (/ 1/2 nil))) + (is (thrown? #?(:cljs :default :default Exception) (/ nil 1/2))))) #?(:bb nil ;; bb always uses boxed args, which always throws in JVM Clojure :default @@ -165,20 +168,20 @@ (are [expected x y] (= expected (/ x y)) ##Inf ##Inf 1 ##-Inf ##-Inf 1 - 0.0 1 ##Inf ; Note conversion to double + 0.0 1 ##Inf ; Note conversion to double 0.0 1 ##-Inf 0.0 -1 ##Inf 0.0 -1 ##-Inf - ##Inf ##Inf 0 ; Surprisingly, these down't throw + ##Inf ##Inf 0 ; Surprisingly, these down't throw ##-Inf ##-Inf 0 ##Inf ##Inf 1N ##-Inf ##-Inf 1N - 0.0 1N ##Inf ; Note conversion to double + 0.0 1N ##Inf ; Note conversion to double 0.0 1N ##-Inf 0.0 -1N ##Inf 0.0 -1N ##-Inf - ##Inf ##Inf 0N ; Surprisingly, these down't throw + ##Inf ##Inf 0N ; Surprisingly, these down't throw ##-Inf ##-Inf 0N ##Inf ##Inf 1.0 @@ -187,16 +190,16 @@ 0.0 1.0 ##-Inf 0.0 -1.0 ##Inf 0.0 -1.0 ##-Inf - ##Inf ##Inf 0.0 ; Surprisingly, these down't throw + ##Inf ##Inf 0.0 ; Surprisingly, these down't throw ##-Inf ##-Inf 0.0 ##Inf ##Inf 1.0M ##-Inf ##-Inf 1.0M - 0.0 1.0M ##Inf ; Note conversion back double + 0.0 1.0M ##Inf ; Note conversion back double 0.0 1.0M ##-Inf 0.0 -1.0M ##Inf 0.0 -1.0M ##-Inf - ##Inf ##Inf 0.0M ; Surprisingly, these down't throw + ##Inf ##Inf 0.0M ; Surprisingly, these down't throw ##-Inf ##-Inf 0.0M #?@(:cljs [] @@ -208,7 +211,7 @@ ;; These all result in ##NaN, but we can't test for that with `=`. (are [x y] (NaN? (/ x y)) - ##NaN 0 ; Note that this doesn't throw + ##NaN 0 ; Note that this doesn't throw 0 ##NaN ##NaN 0N 0N ##NaN @@ -216,11 +219,11 @@ 1.0 ##NaN ##NaN 1.0M 1.0M ##NaN - #?@(:cljs [] - :default - [##NaN 1/2 - 1/2 ##NaN]) ##Inf ##Inf ##Inf ##-Inf ##-Inf ##Inf - ##-Inf ##-Inf))))) + ##-Inf ##-Inf + #?@(:cljs [] + :default + [##NaN 1/2 + 1/2 ##NaN])))))) diff --git a/test/clojure/core_test/some.cljc b/test/clojure/core_test/some.cljc index 95c4c429..d96ca821 100644 --- a/test/clojure/core_test/some.cljc +++ b/test/clojure/core_test/some.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.some - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists some diff --git a/test/clojure/core_test/some_fn.cljc b/test/clojure/core_test/some_fn.cljc index 58483dde..7dc8d87c 100644 --- a/test/clojure/core_test/some_fn.cljc +++ b/test/clojure/core_test/some_fn.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.some-fn - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists some-fn diff --git a/test/clojure/core_test/some_qmark.cljc b/test/clojure/core_test/some_qmark.cljc index 2be7e4a4..1a8b444a 100644 --- a/test/clojure/core_test/some_qmark.cljc +++ b/test/clojure/core_test/some_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.some-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/some? +(when-var-exists some? (deftest test-some? (testing "common" (are [given expected] (= expected (some? given)) diff --git a/test/clojure/core_test/sort.cljc b/test/clojure/core_test/sort.cljc index 03ef66ca..048408cf 100644 --- a/test/clojure/core_test/sort.cljc +++ b/test/clojure/core_test/sort.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.sort - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/sort +(when-var-exists sort (deftest test-sort (testing "common cases -- unary" (are [expected x] (= expected (sort x)) diff --git a/test/clojure/core_test/sorted_qmark.cljc b/test/clojure/core_test/sorted_qmark.cljc index be75a989..e3b2ed98 100644 --- a/test/clojure/core_test/sorted_qmark.cljc +++ b/test/clojure/core_test/sorted_qmark.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.sorted-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/sorted? +(when-var-exists sorted? (deftest test-sorted? ;; Note that `sorted?` tests whether the collection is a sorted ;; collection, not whether the elements of any arbitrary @@ -25,7 +25,7 @@ (sort (range 10 0 -1)) ; the items are sorted, but it's not a sorted collection (seq (sorted-map)) ; seqs, even over sorted collections are not sorted (seq (sorted-set)) - 1 ; primitives are not sorted + 1 ; primitives are not sorted 1N 1.0 1.0M diff --git a/test/clojure/core_test/star.cljc b/test/clojure/core_test/star.cljc index 649fcc9e..06381056 100644 --- a/test/clojure/core_test/star.cljc +++ b/test/clojure/core_test/star.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.star - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest testing is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/* +(when-var-exists * (deftest test-* (testing "common" (are [prod x y] (= prod (* x y) (* y x)) @@ -95,7 +95,10 @@ (is (thrown? Exception (* (long (/ r/min-int 2)) 3))) (is (thrown? Exception (* 3 (long (/ r/min-int 2)))))])) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "rationals" (are [prod x y] (= prod (* x y) (* y x)) @@ -121,8 +124,8 @@ -1/10 -1/2 1/5 1/10 -1/2 -1/5) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (* 1/2 nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (* nil 1/2))))) + (is (thrown? #?(:cljs :default :default Exception) (* 1/2 nil))) + (is (thrown? #?(:cljs :default :default Exception) (* nil 1/2))))) (testing "inf-nan" (testing "Multiplication with infinities" @@ -159,7 +162,7 @@ (testing "Multiplication resulting in ##NaN" (are [x y] (and (NaN? (* x y)) (NaN? (* y x))) - ##Inf 0 ; Perhaps counter-intuitive + ##Inf 0 ; Perhaps counter-intuitive ##Inf 0N ##Inf 0.0 ##NaN 1 diff --git a/test/clojure/core_test/star_squote.cljc b/test/clojure/core_test/star_squote.cljc index 97f19632..4c3a1516 100644 --- a/test/clojure/core_test/star_squote.cljc +++ b/test/clojure/core_test/star_squote.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.star-squote - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/*' +(when-var-exists *' (deftest test-*' (are [prod cand er] (= prod (*' cand er)) 0 0 0 @@ -70,8 +70,8 @@ 5 1N 5 5 1N 5N) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (*' 1 nil))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (*' nil 1))) + (is (thrown? #?(:cljs :default :default Exception) (*' 1 nil))) + (is (thrown? #?(:cljs :default :default Exception) (*' nil 1))) (is (instance? clojure.lang.BigInt (*' 0 1N))) (is (instance? clojure.lang.BigInt (*' 0N 1))) diff --git a/test/clojure/core_test/str.cljc b/test/clojure/core_test/str.cljc index 87179a6a..5cc4af79 100644 --- a/test/clojure/core_test/str.cljc +++ b/test/clojure/core_test/str.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.str - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/str +(when-var-exists str (deftest test-str (are [expected x] (= expected (str x)) "0" 0 @@ -29,7 +29,7 @@ "-1" (float -1.0) "0" (double 0.0) "1" (double 1.0) - "-1" (double -1.0)] + "-1" (double -1.0)] :default ["0.0" 0.0 "1.0" 1.0 @@ -52,12 +52,12 @@ "1" 1.0M "-1" -1.0M] :default - ["0" 0/2 - "1/2" 1/2 - "-1/2" -1/2 - "0.0" 0.0M - "1.0" 1.0M - "-1.0" -1.0M]) + ["0" 0/2 + "1/2" 1/2 + "-1/2" -1/2 + "0.0" 0.0M + "1.0" 1.0M + "-1.0" -1.0M]) "" nil #?(:cljr "True" :default "true") true diff --git a/test/clojure/core_test/string_qmark.cljc b/test/clojure/core_test/string_qmark.cljc index bce9b91e..ef40f5a1 100644 --- a/test/clojure/core_test/string_qmark.cljc +++ b/test/clojure/core_test/string_qmark.cljc @@ -1,11 +1,16 @@ (ns clojure.core-test.string-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/string? +(when-var-exists string? (deftest test-string? (are [expected x] (= expected (string? x)) + true "a string" + true "0" + true "1" + true "-1" + false 0 false 1 false -1 @@ -28,25 +33,22 @@ false 0N false 1N false -1N - #?@(:cljs [] - :default - [false 0/2 - false 1/2 - false -1/2]) false 0.0M false 1.0M false -1.0M false nil false true false false - true "a string" - true "0" - true "1" - true "-1" false {:a :map} false #{:a-set} false [:a :vector] false '(:a :list) + false :a-keyword + false :0 + false :1 + false :-1 + false 'a-sym + #?@(:cljs [true \0 true \1 @@ -57,8 +59,8 @@ false \1 false \A false \space]) - false :a-keyword - false :0 - false :1 - false :-1 - false 'a-sym))) + #?@(:cljs [] + :default + [false 0/2 + false 1/2 + false -1/2])))) diff --git a/test/clojure/core_test/subs.cljc b/test/clojure/core_test/subs.cljc index c127b932..bf70effb 100644 --- a/test/clojure/core_test/subs.cljc +++ b/test/clojure/core_test/subs.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.subs (:require [clojure.test :as t :refer [deftest is]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/subs +(when-var-exists subs (deftest test-subs (is (= "abcde" (subs "abcde" 0))) (is (= "abcde" (subs "abcde" 0 5))) @@ -35,12 +35,12 @@ (is (= "ab" (subs "abcde" nil 2))) (is (= "a" (subs "abcde" 1 nil)))] :default - [(is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" 2 1))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" 1 6))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" 1 200))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" -1))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" -1 3))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" -1 -3))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs nil 1 2))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" nil 2))) - (is (thrown? #?(:clj Exception :cljr Exception) (subs "abcde" 1 nil)))]))) + [(is (thrown? Exception (subs "abcde" 2 1))) + (is (thrown? Exception (subs "abcde" 1 6))) + (is (thrown? Exception (subs "abcde" 1 200))) + (is (thrown? Exception (subs "abcde" -1))) + (is (thrown? Exception (subs "abcde" -1 3))) + (is (thrown? Exception (subs "abcde" -1 -3))) + (is (thrown? Exception (subs nil 1 2))) + (is (thrown? Exception (subs "abcde" nil 2))) + (is (thrown? Exception (subs "abcde" 1 nil)))]))) diff --git a/test/clojure/core_test/symbol.cljc b/test/clojure/core_test/symbol.cljc index 36cda1dd..ccbb8384 100644 --- a/test/clojure/core_test/symbol.cljc +++ b/test/clojure/core_test/symbol.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.symbol - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/symbol +(when-var-exists symbol (deftest test-symbol ;; "Symbols begin with a non-numeric character and can contain ;; alphanumeric characters and *, +, !, -, _, ', ?, <, > and = @@ -75,7 +75,7 @@ 'abc*+!-_'?<>=/abc*+!-_'?<>= "abc*+!-_'?<>=" "abc*+!-_'?<>=") - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (symbol nil))) + (is (thrown? #?(:cljs :default :default Exception) (symbol nil))) (is (= 'abc (symbol nil "abc"))) ; if ns is nil, it just ignores it. (is (nil? (namespace (symbol nil "hi")))) (is (= "" (namespace (symbol "" "hi")))) @@ -94,7 +94,7 @@ ;; (is (= :abc/abc (symbol :abc "abc"))) results in unreadable value (is (= 'abc/:abc (symbol "abc" :abc)))] :default - [(is (thrown? #?(:clj Exception :cljr Exception) (symbol 'abc "abc"))) - (is (thrown? #?(:clj Exception :cljr Exception) (symbol "abc" 'abc))) - (is (thrown? #?(:clj Exception :cljr Exception) (symbol :abc "abc"))) - (is (thrown? #?(:clj Exception :cljr Exception) (symbol "abc" :abc)))]))) + [(is (thrown? Exception (symbol 'abc "abc"))) + (is (thrown? Exception (symbol "abc" 'abc))) + (is (thrown? Exception (symbol :abc "abc"))) + (is (thrown? Exception (symbol "abc" :abc)))]))) From 106fa4c9a86a278781c85a40a02b18478a21520d Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 13:20:23 -0500 Subject: [PATCH 27/51] Fix parse-double --- test/clojure/core_test/parse_double.cljc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/clojure/core_test/parse_double.cljc b/test/clojure/core_test/parse_double.cljc index 08f8c443..e24682ae 100644 --- a/test/clojure/core_test/parse_double.cljc +++ b/test/clojure/core_test/parse_double.cljc @@ -42,8 +42,8 @@ #{} :key 0.0 - 1000)) - #?(:default (are [x] (thrown? Exception (parse-double x)) + 1000) + :default (are [x] (thrown? Exception (parse-double x)) {} '() [] From 0c613a7786a057d89af94e82eba209d7fdf706dc Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 13:24:53 -0500 Subject: [PATCH 28/51] Next one --- test/clojure/core_test/symbol_qmark.cljc | 19 ++++++++++--------- test/clojure/core_test/take.cljc | 10 +++++----- test/clojure/core_test/take_last.cljc | 10 +++++----- test/clojure/core_test/take_while.cljc | 10 +++++----- test/clojure/core_test/taps.cljc | 6 +++--- test/clojure/core_test/true_qmark.cljc | 22 ++++++++++++---------- 6 files changed, 40 insertions(+), 37 deletions(-) diff --git a/test/clojure/core_test/symbol_qmark.cljc b/test/clojure/core_test/symbol_qmark.cljc index 8335deb9..fe5e4325 100644 --- a/test/clojure/core_test/symbol_qmark.cljc +++ b/test/clojure/core_test/symbol_qmark.cljc @@ -1,22 +1,23 @@ (ns clojure.core-test.symbol-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/symbol? +(when-var-exists symbol? (deftest test-symbol? (are [expected x] (= expected (symbol? x)) - false :a-keyword true 'a-symbol - false :a-ns/a-keyword true 'a-ns/a-keyword + + false :a-keyword + false :a-ns/a-keyword false "a string" false 0 false 0N false 0.0 - #?@(:cljs [] - :default - [false 1/2]) false 0.0M false false false true - false nil))) + false nil + #?@(:cljs [] + :default + [false 1/2])))) diff --git a/test/clojure/core_test/take.cljc b/test/clojure/core_test/take.cljc index 5e7a2272..12cd284c 100644 --- a/test/clojure/core_test/take.cljc +++ b/test/clojure/core_test/take.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.take - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/take +(when-var-exists take (deftest test-take (is (= (range 0 5) (take 5 (range 0 10)))) (is (= (range 0 5) (take 5 (range)))) ; Infinite `range` lazy seq @@ -14,7 +14,7 @@ (is (= [] (into [] (take 5) nil))) ;; negative tests - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (take nil (range 0 10))))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (into [] (take nil) (range 0 10)))))) diff --git a/test/clojure/core_test/take_last.cljc b/test/clojure/core_test/take_last.cljc index decc458b..ecaafe72 100644 --- a/test/clojure/core_test/take_last.cljc +++ b/test/clojure/core_test/take_last.cljc @@ -1,15 +1,15 @@ (ns clojure.core-test.take-last - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/take-last +(when-var-exists take-last (deftest test-take-last (is (= (range 8 10) (take-last 2 (range 0 10)))) - (is (nil? (take-last 2 nil))) ; Returns `nil`, not `()` + (is (nil? (take-last 2 nil))) ; Returns `nil`, not `()` ;; Note that there is no transducer version of `take-last` in ;; `clojure.core`. ;; Negative testing - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (take-last nil (range 0 10))))))) diff --git a/test/clojure/core_test/take_while.cljc b/test/clojure/core_test/take_while.cljc index 127e3265..dae999a0 100644 --- a/test/clojure/core_test/take_while.cljc +++ b/test/clojure/core_test/take_while.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.take-while - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/take-while +(when-var-exists take-while (deftest test-take-while (is (= (range 0 5) (take-while #(< % 5) (range 0 10)))) (is (= '(0 1 2 3 4) (take-while #(< % 5) (range)))) ; Infinite lazy `range` @@ -15,7 +15,7 @@ (is (= [] (into [] (take-while #(< % 5)) nil))) ;; Negative tests - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (doall (take-while nil (range 0 10))))) - (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) + (is (thrown? #?(:cljs :default :default Exception) (into [] (take-while nil) (range 0 10)))))) diff --git a/test/clojure/core_test/taps.cljc b/test/clojure/core_test/taps.cljc index de098988..5969b621 100644 --- a/test/clojure/core_test/taps.cljc +++ b/test/clojure/core_test/taps.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.taps - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest is]] #?(:cljs [cljs.test :refer-macros [async]]) - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/add-tap +(when-var-exists add-tap #?(:cljs (do (defn tap-tester diff --git a/test/clojure/core_test/true_qmark.cljc b/test/clojure/core_test/true_qmark.cljc index 3f29dc6b..f21cba64 100644 --- a/test/clojure/core_test/true_qmark.cljc +++ b/test/clojure/core_test/true_qmark.cljc @@ -1,11 +1,13 @@ (ns clojure.core-test.true-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/true? +(when-var-exists true? (deftest test-true? (are [expected x] (= expected (true? x)) + true true + false 0 false 1 false -1 @@ -28,16 +30,10 @@ false 0N false 1N false -1N - #?@(:cljs [] - :default - [false 0/2 - false 1/2 - false -1/2]) false 0.0M false 1.0M false -1.0M false nil - true true false false false "a string" false "0" @@ -57,4 +53,10 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [] + :default + [false 0/2 + false 1/2 + false -1/2])))) From 68550c0f42bf64301ac35c3c4957e2c477a186e5 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:13:21 -0500 Subject: [PATCH 29/51] Fix `parse-uuid` --- test/clojure/core_test/parse_uuid.cljc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/clojure/core_test/parse_uuid.cljc b/test/clojure/core_test/parse_uuid.cljc index 1b4972a7..867cec7d 100644 --- a/test/clojure/core_test/parse_uuid.cljc +++ b/test/clojure/core_test/parse_uuid.cljc @@ -23,8 +23,8 @@ #{} :key 0.0 - 1000)) - #?(:default (are [x] (thrown? Exception (parse-uuid x)) + 1000) + :default (are [x] (thrown? Exception (parse-uuid x)) {} '() [] From 21c87de718f74f70e36bbb2eaefc961c9c8bd5f1 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:20:17 -0500 Subject: [PATCH 30/51] Tricky ones --- .../core_test/unsigned_bit_shift_right.cljc | 8 ++--- test/clojure/core_test/update.cljc | 34 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/test/clojure/core_test/unsigned_bit_shift_right.cljc b/test/clojure/core_test/unsigned_bit_shift_right.cljc index 891e9669..05f57acc 100644 --- a/test/clojure/core_test/unsigned_bit_shift_right.cljc +++ b/test/clojure/core_test/unsigned_bit_shift_right.cljc @@ -1,13 +1,13 @@ (ns clojure.core-test.unsigned-bit-shift-right - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/unsigned-bit-shift-right +(when-var-exists unsigned-bit-shift-right (deftest test-unsigned-bit-shift-right #?(:cljs (is (= 0 (unsigned-bit-shift-right nil 1))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (unsigned-bit-shift-right nil 1)))) + :default (is (thrown? #Exception (unsigned-bit-shift-right nil 1)))) #?(:cljs (is (= 1 (unsigned-bit-shift-right 1 nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (unsigned-bit-shift-right 1 nil)))) + :default (is (thrown? Exception (unsigned-bit-shift-right 1 nil)))) (are [ex a b] (= ex (unsigned-bit-shift-right a b)) ;; Clojure JVM starts with a 64-bit -1 and ClojureScript starts diff --git a/test/clojure/core_test/update.cljc b/test/clojure/core_test/update.cljc index 63a0ddc6..520ed126 100644 --- a/test/clojure/core_test/update.cljc +++ b/test/clojure/core_test/update.cljc @@ -1,10 +1,8 @@ (ns clojure.core-test.update - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists - clojure.core/update +(when-var-exists update (deftest test-update (testing "maps" (are [in ex] (= (apply update in) ex) @@ -51,11 +49,6 @@ [nil :k #{}] {:k nil} [nil :k {}] {:k nil} - ;; CLJS can accept arbitrary arguments - ;; While CLJ will Throw (See last test case) - #?@(:cljs - ([{:k 1} :k inc 1 2 3 4] {:k 2})) - ;; Update Vector inside Map [{:a [0 1 2], :b 4} :a conj 3] {:a [0 1 2 3], :b 4})) @@ -81,10 +74,14 @@ ;; Can work with non-functions [[] 0 #{}] [nil] [[] 0 {}] [nil] - [[] 0 :f] [nil])) + [[] 0 :f] [nil] + + ;; CLJS can accept arbitrary arguments + ;; While other platforms will Throw (See last test case) + #?@(:cljs ([{:k 1} :k inc 1 2 3 4] {:k 2})))) (testing "Throws" - (are [in] (thrown? #?(:clj Exception :cljr Exception :cljs js/Error) (apply update in)) + (are [in] (thrown? #?(:cljs js/Error :default Exception) (apply update in)) ;; Throw when settting index 1 when 0 doesn't exist [[] 1 identity] ;; Throw on Negative indices! @@ -107,9 +104,14 @@ [{:k 5} :k ""] ;; Laziness doesn't work on CLJS - #?(:clj [(repeat 1) :k identity]) - #?(:cljr [(repeat 1) :k identity]) + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + + :default + [(repeat 1) :k identity]) + + ;; CLJS can accept arbitrary arguments ;; Throw when wrong number of indices are passed to the function ;; CLJS returns 1, and doesn't throw! - #?(:clj [{:k 1} :k identity 1 2 3 4]) - #?(:cljr [{:k 1} :k identity 1 2 3 4]))))) + #?(:default [{:k 1} :k identity 1 2 3 4]))))) From a857580e091f3914642cc44aa2640b4f2c539ca1 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:21:12 -0500 Subject: [PATCH 31/51] Fix `parse-long` --- test/clojure/core_test/parse_long.cljc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/clojure/core_test/parse_long.cljc b/test/clojure/core_test/parse_long.cljc index e574e474..613b9e41 100644 --- a/test/clojure/core_test/parse_long.cljc +++ b/test/clojure/core_test/parse_long.cljc @@ -39,8 +39,8 @@ #{} :key 0.0 - 1000)) - #?(:default (are [x] (thrown? Exception (parse-long x)) + 1000) + :default (are [x] (thrown? Exception (parse-long x)) {} '() [] From 4bdfbe5fc7b66dbfe62773e23e3a5d2ab899803c Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:41:34 -0500 Subject: [PATCH 32/51] updates --- test/clojure/core_test/val.cljc | 2 +- test/clojure/core_test/vals.cljc | 10 ++++------ test/clojure/core_test/var_qmark.cljc | 21 +++++++++++---------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/test/clojure/core_test/val.cljc b/test/clojure/core_test/val.cljc index 739b9d2a..9ef160a6 100644 --- a/test/clojure/core_test/val.cljc +++ b/test/clojure/core_test/val.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.val - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists val diff --git a/test/clojure/core_test/vals.cljc b/test/clojure/core_test/vals.cljc index 30a705d1..f0efd554 100644 --- a/test/clojure/core_test/vals.cljc +++ b/test/clojure/core_test/vals.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.vals - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/vals +(when-var-exists vals (deftest test-vals (testing "common" (is (= nil (vals nil))) @@ -18,5 +17,4 @@ (is (= '([:b :c]) (vals {:a [:b :c]}))) (is (= '((:c)) (vals {:a (vals {:b :c})}))) #?@(:cljs [(is (thrown? js/Error (vals 0)))] - :cljr [(is (thrown? Exception (vals 0)))] - :clj [(is (thrown? Exception (vals 0)))])))) + :default [(is (thrown? Exception (vals 0)))])))) diff --git a/test/clojure/core_test/var_qmark.cljc b/test/clojure/core_test/var_qmark.cljc index 0b5ed81b..76d1a23d 100644 --- a/test/clojure/core_test/var_qmark.cljc +++ b/test/clojure/core_test/var_qmark.cljc @@ -1,21 +1,20 @@ (ns clojure.core-test.var-qmark - (:require clojure.core - [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest testing is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (def foo :foo) (def ^:dynamic i-am-dynamic 3.14) -(when-var-exists clojure.core/defmulti +(when-var-exists defmulti ;; This can't be inside `deftest` like `defn` because `defmulti` only returns ;; the var on the first invocation. (defmulti bar first)) -(when-var-exists clojure.core/defprotocol +(when-var-exists defprotocol (defprotocol MyProtocol)) -(when-var-exists clojure.core/var? +(when-var-exists var? (deftest test-var? (testing "things which are vars" (are [v] (var? v) @@ -25,15 +24,17 @@ #'*assert* ; dynamic #?@(; CLJS `def` doesn't necessarily evaluate to the value of the var: :cljs [], - :default [(def baz)]) + :default [#_{:clj-kondo/ignore [:inline-def :uninitialized-var :clojure-lsp/unused-public-var]} + (def baz)]) #?@(; CLJS `defn` produces a non-var :cljs [], - :default [(defn qux [] nil)])) + :default [#_{:clj-kondo/ignore [:inline-def :uninitialized-var]} + (defn qux [] nil)])) - (when-var-exists clojure.core/defmulti + (when-var-exists defmulti (is (var? #'bar))) - (when-var-exists clojure.core/defprotocol + (when-var-exists defprotocol (is (var? #'MyProtocol)))) (testing "var-adjacent things" From b7fec87ad31749d0bb41c4935b9741fc6a08d0df Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:49:30 -0500 Subject: [PATCH 33/51] Fix --- test/clojure/core_test/update.cljc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/clojure/core_test/update.cljc b/test/clojure/core_test/update.cljc index 520ed126..b49ac990 100644 --- a/test/clojure/core_test/update.cljc +++ b/test/clojure/core_test/update.cljc @@ -114,4 +114,9 @@ ;; CLJS can accept arbitrary arguments ;; Throw when wrong number of indices are passed to the function ;; CLJS returns 1, and doesn't throw! - #?(:default [{:k 1} :k identity 1 2 3 4]))))) + #?(:cljs + #_{:clj-kondo/ignore [:unused-value] + nil + + :default + [{:k 1} :k identity 1 2 3 4]))))) From 3b01e56e49ef6bf6078be72c3c4e11a19b4975cf Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 14:51:17 -0500 Subject: [PATCH 34/51] Fix --- test/clojure/core_test/update.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/update.cljc b/test/clojure/core_test/update.cljc index b49ac990..6e17e427 100644 --- a/test/clojure/core_test/update.cljc +++ b/test/clojure/core_test/update.cljc @@ -115,7 +115,7 @@ ;; Throw when wrong number of indices are passed to the function ;; CLJS returns 1, and doesn't throw! #?(:cljs - #_{:clj-kondo/ignore [:unused-value] + #_{:clj-kondo/ignore [:unused-value]} nil :default From cef0b3945cab899fb0a1656b0fbe51625b8d14e6 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:00:32 -0500 Subject: [PATCH 35/51] Fix `unsigned-bit-shift-right` --- test/clojure/core_test/unsigned_bit_shift_right.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/unsigned_bit_shift_right.cljc b/test/clojure/core_test/unsigned_bit_shift_right.cljc index 05f57acc..9befede1 100644 --- a/test/clojure/core_test/unsigned_bit_shift_right.cljc +++ b/test/clojure/core_test/unsigned_bit_shift_right.cljc @@ -5,7 +5,7 @@ (when-var-exists unsigned-bit-shift-right (deftest test-unsigned-bit-shift-right #?(:cljs (is (= 0 (unsigned-bit-shift-right nil 1))) - :default (is (thrown? #Exception (unsigned-bit-shift-right nil 1)))) + :default (is (thrown? Exception (unsigned-bit-shift-right nil 1)))) #?(:cljs (is (= 1 (unsigned-bit-shift-right 1 nil))) :default (is (thrown? Exception (unsigned-bit-shift-right 1 nil)))) From dd97a5e4d934796c95bdb8ca92e37014fe7bfb3d Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:09:14 -0500 Subject: [PATCH 36/51] Last batch --- test/clojure/core_test/when.cljc | 7 +++++-- test/clojure/core_test/with_out_str.cljc | 6 +++--- test/clojure/core_test/with_precision.cljc | 2 +- test/clojure/core_test/zero_qmark.cljc | 18 ++++++++++-------- test/clojure/core_test/zipmap.cljc | 13 +++++-------- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git a/test/clojure/core_test/when.cljc b/test/clojure/core_test/when.cljc index e9300621..2c6f40d6 100644 --- a/test/clojure/core_test/when.cljc +++ b/test/clojure/core_test/when.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.when - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest testing is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists when @@ -9,6 +9,7 @@ (is (nil? (when false :foo))) (is (nil? (when ((constantly nil)) :foo))) + #_{:clj-kondo/ignore [:missing-body-in-when]} (testing "without a body, truth doesn't matter" (is (nil? (when false))) (is (nil? (when true)))) @@ -28,7 +29,9 @@ (is (= :foo (when :haberdashery :foo)))) (testing "`when` has implicit `do`" - (is (= :bar (when true :foo :bar))) + (is (= :bar + #_{:clj-kondo/ignore [:unused-value]} + (when true :foo :bar))) (let [foo (atom 0)] (is (= :bar (when true (swap! foo inc) diff --git a/test/clojure/core_test/with_out_str.cljc b/test/clojure/core_test/with_out_str.cljc index 801a02bb..321e1b3c 100644 --- a/test/clojure/core_test/with_out_str.cljc +++ b/test/clojure/core_test/with_out_str.cljc @@ -11,13 +11,13 @@ (let [nl (System/getProperty "line.separator")] (.replace s "\n" nl)) :cljr - (let [nl Environment/NewLine] ;;; (System/getProperty "line.separator")] - (.Replace ^String s "\n" nl)) ;;; .replace, add type hint + (let [nl Environment/NewLine] + (.Replace ^String s "\n" nl)) :default s)) -(when-var-exists clojure.core/with-out-str +(when-var-exists with-out-str (deftest test-with-out-str (is (= (platform-newlines (str "some sample :text here" \newline diff --git a/test/clojure/core_test/with_precision.cljc b/test/clojure/core_test/with_precision.cljc index 5061c085..8900e1b7 100644 --- a/test/clojure/core_test/with_precision.cljc +++ b/test/clojure/core_test/with_precision.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.with-precision - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists with-precision diff --git a/test/clojure/core_test/zero_qmark.cljc b/test/clojure/core_test/zero_qmark.cljc index 9f599428..55c0c3c6 100644 --- a/test/clojure/core_test/zero_qmark.cljc +++ b/test/clojure/core_test/zero_qmark.cljc @@ -1,17 +1,20 @@ (ns clojure.core-test.zero-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/zero? +(when-var-exists zero? (deftest test-zero? (are [expected x] (= expected (zero? x)) true 0 + true 0.0 + true 0.0M + true 0N + false 1 false -1 false r/min-int false r/max-int - true 0.0 false 1.0 false -1.0 false r/min-double @@ -19,17 +22,16 @@ false ##Inf false ##-Inf false ##NaN - true 0N false 1N false -1N + false 1.0M + false -1.0M + #?@(:cljs [] :default [true 0/2 false 1/2 - false -1/2]) - true 0.0M - false 1.0M - false -1.0M) + false -1/2])) (is #?@(:cljs [(= false (zero? nil))] :default [(thrown? Exception (zero? nil))])) diff --git a/test/clojure/core_test/zipmap.cljc b/test/clojure/core_test/zipmap.cljc index cecbdc42..4dc495e8 100644 --- a/test/clojure/core_test/zipmap.cljc +++ b/test/clojure/core_test/zipmap.cljc @@ -1,9 +1,8 @@ (ns clojure.core-test.zipmap - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [are deftest is testing]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists - clojure.core/zipmap +(when-var-exists zipmap (deftest test-zipmap (testing "Common cases" (are [in ex] (= (apply zipmap in) ex) @@ -28,7 +27,5 @@ (are [in ex] (= (apply zipmap in) ex) [(range) '("a" "b")] {0 "a" 1 "b"})) (testing "Bad inputs" - #?(:clj (is (thrown? Exception (zipmap :not-seqable [1 2 3]))) - :cljr (is (thrown? Exception (zipmap :not-seqable [1 2 3])))) - #?(:clj (is (thrown? Exception (zipmap 123 [1 2 3]))) - :cljr (is (thrown? Exception (zipmap 123 [1 2 3]))))))) + (is (thrown? #?(:cljs :default :default Exception) (zipmap :not-seqable [1 2 3]))) + (is (thrown? #?(:cljs :default :default Exception) (zipmap 123 [1 2 3])))))) From a22a4b5d78357244d56b9bb905665a4299f332a4 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:28:28 -0500 Subject: [PATCH 37/51] grammar --- test/clojure/core_test/double.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/double.cljc b/test/clojure/core_test/double.cljc index 96f8db48..32fdbb01 100644 --- a/test/clojure/core_test/double.cljc +++ b/test/clojure/core_test/double.cljc @@ -20,7 +20,7 @@ (is (NaN? (double ##NaN))) #?@(:cljs - ;; In cljs, `double` is just returns the argument unchanged + ;; In cljs, `double` just returns the argument unchanged [(is (= "0" (double "0"))) (is (= :0 (double :0)))] :cljr From 51aaf9e231878bded720b07226640e83aac220a3 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:33:39 -0500 Subject: [PATCH 38/51] Add space --- test/clojure/core_test/map_qmark.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/map_qmark.cljc b/test/clojure/core_test/map_qmark.cljc index 69f3790f..3abfa359 100644 --- a/test/clojure/core_test/map_qmark.cljc +++ b/test/clojure/core_test/map_qmark.cljc @@ -10,7 +10,7 @@ true (array-map :a 1) false [1 2 3] - false(sorted-set :a) + false (sorted-set :a) false '(1 2 3) false (hash-set :a) false (seq [1 2 3]) From 1dfabf01860222555907a117711abf198e967c78 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:34:50 -0500 Subject: [PATCH 39/51] `is` before `testing` --- templates/test-template.cljc | 2 +- test/clojure/core_test/mapcat.cljc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/test-template.cljc b/templates/test-template.cljc index 3bca15d6..3f9c91e7 100644 --- a/templates/test-template.cljc +++ b/templates/test-template.cljc @@ -1,6 +1,6 @@ (ns {{base-ns}}-test.{{ns-suffix}} (:require {% if not base-ns = "clojure.core" %}{{base-ns}} - {% endif %}[clojure.test :as t :refer [are deftest testing is]] + {% endif %}[clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists {% if not base-ns = "clojure.core" %}{{base-ns}}/{% endif %}{{sym-name}} diff --git a/test/clojure/core_test/mapcat.cljc b/test/clojure/core_test/mapcat.cljc index de6ed641..5badef56 100644 --- a/test/clojure/core_test/mapcat.cljc +++ b/test/clojure/core_test/mapcat.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.mapcat - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists mapcat From 7b4c9ad5a5f5c99448fdec9091d9824288390d48 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:52:19 -0500 Subject: [PATCH 40/51] Missed a whole batch --- test/clojure/core_test/peek.cljc | 4 ++-- test/clojure/core_test/plus.cljc | 12 ++++++---- test/clojure/core_test/plus_squote.cljc | 6 ++--- test/clojure/core_test/pop.cljc | 2 +- test/clojure/core_test/portability.cljc | 5 ++-- test/clojure/core_test/pos_int_qmark.cljc | 28 +++++++++++------------ test/clojure/core_test/pos_qmark.cljc | 25 ++++++++++---------- test/clojure/core_test/pr_str.cljc | 6 ++--- test/clojure/core_test/print_str.cljc | 6 ++--- test/clojure/core_test/println_str.cljc | 6 ++--- test/clojure/core_test/prn_str.cljc | 6 ++--- 11 files changed, 55 insertions(+), 51 deletions(-) diff --git a/test/clojure/core_test/peek.cljc b/test/clojure/core_test/peek.cljc index 9d28b166..4a7b69aa 100644 --- a/test/clojure/core_test/peek.cljc +++ b/test/clojure/core_test/peek.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.peek - (:require [clojure.test :refer [deftest testing is are]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/peek +(when-var-exists peek (deftest test-peek (testing "list" diff --git a/test/clojure/core_test/plus.cljc b/test/clojure/core_test/plus.cljc index 7988df99..876b1e71 100644 --- a/test/clojure/core_test/plus.cljc +++ b/test/clojure/core_test/plus.cljc @@ -1,9 +1,10 @@ +#_{:clj-kondo/ignore [:unused-namespace]} (ns clojure.core-test.plus - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/+ +(when-var-exists + (deftest test-+ (testing "common" (are [sum x y] (and (= sum (+ x y)) @@ -99,7 +100,10 @@ (is (instance? clojure.lang.BigInt (+ 1N 5))) (is (instance? clojure.lang.BigInt (+ 1N 5N)))])) - #?(:cljs nil + #?(:cljs + #_{:clj-kondo/ignore [:unused-value]} + nil + :default (testing "rationals" (are [sum x y] (and (= sum (+ x y)) diff --git a/test/clojure/core_test/plus_squote.cljc b/test/clojure/core_test/plus_squote.cljc index 5b9ad7bc..754fbd07 100644 --- a/test/clojure/core_test/plus_squote.cljc +++ b/test/clojure/core_test/plus_squote.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.plus-squote - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/+' +(when-var-exists +' (deftest test-+' (are [sum addend summand] (= sum (+' addend summand)) 0 0 0 diff --git a/test/clojure/core_test/pop.cljc b/test/clojure/core_test/pop.cljc index edca24d1..544fc7ad 100644 --- a/test/clojure/core_test/pop.cljc +++ b/test/clojure/core_test/pop.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.pop - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists pop diff --git a/test/clojure/core_test/portability.cljc b/test/clojure/core_test/portability.cljc index 764e9a9c..da476f84 100644 --- a/test/clojure/core_test/portability.cljc +++ b/test/clojure/core_test/portability.cljc @@ -18,8 +18,9 @@ (and (integer? n) (not (int? n))))) +#_{:clj-kondo/ignore [:unused-binding]} (defn sleep [n] (#?(:cljr System.Threading.Thread/Sleep :clj Thread/sleep - :cljr Thread/sleep) - n)) + :cljs #(js/setTimeout identity) + n))) diff --git a/test/clojure/core_test/pos_int_qmark.cljc b/test/clojure/core_test/pos_int_qmark.cljc index 9615e0fe..b0b61f14 100644 --- a/test/clojure/core_test/pos_int_qmark.cljc +++ b/test/clojure/core_test/pos_int_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.pos-int-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/pos-int? +(when-var-exists pos-int? (deftest test-pos-int? (are [expected x] (= expected (pos-int? x)) false 0 @@ -12,8 +12,6 @@ true r/max-int false r/min-int false 0.0 - #?@(:cljs [true 1.0] - :default [false 1.0]) false -1.0 false r/max-double false r/min-double @@ -21,17 +19,8 @@ false ##-Inf false ##NaN false 0N - #?@(:cljs [true 1.0] - :default [false 1N]) false -1N - #?@(:cljs [] - :default - [false 0/2 - false 1/2 - false -1/2]) false 0.0M - #?@(:cljs [true 1.0M] - :default [false 1.0M]) false -1.0M false nil false true @@ -50,4 +39,13 @@ false :0 false :1 false :-1 - false 'a-sym))) + false 'a-sym + + #?@(:cljs [true 1.0 + true 1.0M] + :default [false 1.0 + false 1N + false 0/2 + false 1/2 + false -1/2 + false 1.0M])))) diff --git a/test/clojure/core_test/pos_qmark.cljc b/test/clojure/core_test/pos_qmark.cljc index 94c5d5ba..71042abd 100644 --- a/test/clojure/core_test/pos_qmark.cljc +++ b/test/clojure/core_test/pos_qmark.cljc @@ -1,9 +1,9 @@ (ns clojure.core-test.pos-qmark - (:require [clojure.test :as t :refer [deftest testing is are]] + (:require [clojure.test :as t :refer [are deftest is]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/pos? +(when-var-exists pos? (deftest test-pos? (are [expected x] (= expected (pos? x)) false 0 @@ -22,20 +22,21 @@ false 0N true 1N false -1N + false 0.0M + true 1.0M + false -1.0M + #?@(:cljs [] :default [false 0/2 true 1/2 - false -1/2]) - false 0.0M - true 1.0M - false -1.0M) + false -1/2])) #?@(:cljs [(is (not (pos? nil))) - (is (not (pos? false))) ; Prints warning - (is (pos? true))] ; Prints warning + (is (not (pos? false))) ; Prints warning + (is (pos? true))] ; Prints warning :default - [(is (thrown? #?(:clj Exception :cljr Exception) (pos? nil))) - (is (thrown? #?(:clj Exception :cljr Exception) (pos? false))) - (is (thrown? #?(:clj Exception :cljr Exception) (pos? true)))]))) + [(is (thrown? Exception (pos? nil))) + (is (thrown? Exception (pos? false))) + (is (thrown? Exception (pos? true)))]))) diff --git a/test/clojure/core_test/pr_str.cljc b/test/clojure/core_test/pr_str.cljc index 9beeb1d7..c240fefa 100644 --- a/test/clojure/core_test/pr_str.cljc +++ b/test/clojure/core_test/pr_str.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.pr-str - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/pr-str +(when-var-exists pr-str (deftest test-pr-str (is (= "\"a\" \"string\"" (pr-str "a" "string"))) ;; Slight differences in the way that CLJS handles characters and diff --git a/test/clojure/core_test/print_str.cljc b/test/clojure/core_test/print_str.cljc index 999e120b..ec5d16f6 100644 --- a/test/clojure/core_test/print_str.cljc +++ b/test/clojure/core_test/print_str.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.print-str - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/print-str +(when-var-exists print-str (deftest test-print-str (is (= "a string" (print-str "a" "string"))) (is (= #?(:cljs "nil a string A 1 17 [:a :b] {:c :d} #{:e}" diff --git a/test/clojure/core_test/println_str.cljc b/test/clojure/core_test/println_str.cljc index 3196afb8..a368cc07 100644 --- a/test/clojure/core_test/println_str.cljc +++ b/test/clojure/core_test/println_str.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.println-str - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/println-str +(when-var-exists println-str (deftest test-println-str (let [nl (println-str)] ;; `nl` grabs the platform specific newline without calling out to diff --git a/test/clojure/core_test/prn_str.cljc b/test/clojure/core_test/prn_str.cljc index 31769931..23300d44 100644 --- a/test/clojure/core_test/prn_str.cljc +++ b/test/clojure/core_test/prn_str.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.prn-str - (:require [clojure.test :as t :refer [deftest testing is are]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + (:require [clojure.test :as t :refer [deftest is]] + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/prn-str +(when-var-exists prn-str (deftest test-prn-str (let [nl (prn-str)] ;; `nl` grabs the platform specific newline without calling out to From 9115b239e8675c57122497a54f9431ed5f7426d6 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 15:58:34 -0500 Subject: [PATCH 41/51] is before testing --- test/clojure/core_test/abs.cljc | 2 +- test/clojure/core_test/aclone.cljc | 2 +- test/clojure/core_test/add_watch.cljc | 2 +- test/clojure/core_test/and.cljc | 2 +- test/clojure/core_test/any_qmark.cljc | 2 +- test/clojure/core_test/assoc.cljc | 2 +- test/clojure/core_test/atom.cljc | 2 +- test/clojure/core_test/case.cljc | 2 +- test/clojure/core_test/compare.cljc | 2 +- test/clojure/core_test/conj.cljc | 2 +- test/clojure/core_test/cons.cljc | 2 +- test/clojure/core_test/constantly.cljc | 2 +- test/clojure/core_test/contains_qmark.cljc | 2 +- test/clojure/core_test/dec.cljc | 2 +- test/clojure/core_test/disj.cljc | 2 +- test/clojure/core_test/dissoc.cljc | 2 +- test/clojure/core_test/doseq.cljc | 2 +- test/clojure/core_test/empty.cljc | 2 +- test/clojure/core_test/empty_qmark.cljc | 2 +- test/clojure/core_test/eq.cljc | 2 +- test/clojure/core_test/ffirst.cljc | 2 +- test/clojure/core_test/find.cljc | 2 +- test/clojure/core_test/fn_qmark.cljc | 2 +- test/clojure/core_test/fnext.cljc | 2 +- test/clojure/core_test/get_in.cljc | 2 +- test/clojure/core_test/hash_map.cljc | 2 +- test/clojure/core_test/hash_set.cljc | 2 +- test/clojure/core_test/ifn_qmark.cljc | 2 +- test/clojure/core_test/inc.cljc | 2 +- test/clojure/core_test/interpose.cljc | 2 +- test/clojure/core_test/juxt.cljc | 2 +- test/clojure/core_test/key.cljc | 2 +- test/clojure/core_test/keys.cljc | 2 +- test/clojure/core_test/last.cljc | 2 +- test/clojure/core_test/merge.cljc | 2 +- test/clojure/core_test/minus.cljc | 2 +- test/clojure/core_test/nfirst.cljc | 2 +- test/clojure/core_test/nil_qmark.cljc | 2 +- test/clojure/core_test/nnext.cljc | 2 +- test/clojure/core_test/not.cljc | 2 +- test/clojure/core_test/not_empty.cljc | 2 +- test/clojure/core_test/or.cljc | 2 +- test/clojure/core_test/parse_uuid.cljc | 2 +- test/clojure/core_test/rand.cljc | 2 +- test/clojure/core_test/realized_qmark.cljc | 2 +- test/clojure/core_test/reduce.cljc | 2 +- test/clojure/core_test/remove_watch.cljc | 2 +- test/clojure/core_test/repeat.cljc | 2 +- test/clojure/core_test/reverse.cljc | 2 +- test/clojure/core_test/rseq.cljc | 2 +- test/clojure/core_test/select_keys.cljc | 2 +- test/clojure/core_test/seq.cljc | 2 +- test/clojure/core_test/set.cljc | 2 +- test/clojure/core_test/shuffle.cljc | 2 +- test/clojure/core_test/slash.cljc | 2 +- test/clojure/core_test/some.cljc | 2 +- test/clojure/core_test/some_fn.cljc | 2 +- test/clojure/core_test/some_qmark.cljc | 2 +- test/clojure/core_test/sort.cljc | 2 +- test/clojure/core_test/sorted_qmark.cljc | 2 +- test/clojure/core_test/star.cljc | 2 +- test/clojure/core_test/val.cljc | 2 +- test/clojure/core_test/vals.cljc | 2 +- test/clojure/core_test/var_qmark.cljc | 2 +- test/clojure/core_test/when.cljc | 2 +- 65 files changed, 65 insertions(+), 65 deletions(-) diff --git a/test/clojure/core_test/abs.cljc b/test/clojure/core_test/abs.cljc index c41e54ef..41d17ae7 100644 --- a/test/clojure/core_test/abs.cljc +++ b/test/clojure/core_test/abs.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.abs - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) diff --git a/test/clojure/core_test/aclone.cljc b/test/clojure/core_test/aclone.cljc index cddab4f4..e316a00c 100644 --- a/test/clojure/core_test/aclone.cljc +++ b/test/clojure/core_test/aclone.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.aclone - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/aclone diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 9c04cfcb..dda1a8ac 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.add-watch - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) (when-var-exists clojure.core/add-watch diff --git a/test/clojure/core_test/and.cljc b/test/clojure/core_test/and.cljc index 3161f4ab..b612f565 100644 --- a/test/clojure/core_test/and.cljc +++ b/test/clojure/core_test/and.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.and - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/and diff --git a/test/clojure/core_test/any_qmark.cljc b/test/clojure/core_test/any_qmark.cljc index 5e06cfef..fa9a5688 100644 --- a/test/clojure/core_test/any_qmark.cljc +++ b/test/clojure/core_test/any_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.any-qmark - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/any? diff --git a/test/clojure/core_test/assoc.cljc b/test/clojure/core_test/assoc.cljc index 38a8ba3d..9eeb189d 100644 --- a/test/clojure/core_test/assoc.cljc +++ b/test/clojure/core_test/assoc.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.assoc - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists assoc diff --git a/test/clojure/core_test/atom.cljc b/test/clojure/core_test/atom.cljc index ef48953d..c5a89bce 100644 --- a/test/clojure/core_test/atom.cljc +++ b/test/clojure/core_test/atom.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.atom (:require clojure.core - [clojure.test :as t :refer [are deftest testing is]] + [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists clojure.core/atom diff --git a/test/clojure/core_test/case.cljc b/test/clojure/core_test/case.cljc index 077d8a5d..723d821c 100644 --- a/test/clojure/core_test/case.cljc +++ b/test/clojure/core_test/case.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.case - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists case diff --git a/test/clojure/core_test/compare.cljc b/test/clojure/core_test/compare.cljc index f34fb3ee..59f65599 100644 --- a/test/clojure/core_test/compare.cljc +++ b/test/clojure/core_test/compare.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.compare - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists compare diff --git a/test/clojure/core_test/conj.cljc b/test/clojure/core_test/conj.cljc index 74edfc02..c10cf8dc 100644 --- a/test/clojure/core_test/conj.cljc +++ b/test/clojure/core_test/conj.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.conj - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists conj diff --git a/test/clojure/core_test/cons.cljc b/test/clojure/core_test/cons.cljc index 56f60801..de2acec4 100644 --- a/test/clojure/core_test/cons.cljc +++ b/test/clojure/core_test/cons.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.cons - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists cons diff --git a/test/clojure/core_test/constantly.cljc b/test/clojure/core_test/constantly.cljc index 2c5ad255..2e6a8058 100644 --- a/test/clojure/core_test/constantly.cljc +++ b/test/clojure/core_test/constantly.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.constantly - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists constantly diff --git a/test/clojure/core_test/contains_qmark.cljc b/test/clojure/core_test/contains_qmark.cljc index dcc2231c..f85398c4 100644 --- a/test/clojure/core_test/contains_qmark.cljc +++ b/test/clojure/core_test/contains_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.contains-qmark - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists contains? diff --git a/test/clojure/core_test/dec.cljc b/test/clojure/core_test/dec.cljc index c8b0e182..d82fc697 100644 --- a/test/clojure/core_test/dec.cljc +++ b/test/clojure/core_test/dec.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.dec - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists dec diff --git a/test/clojure/core_test/disj.cljc b/test/clojure/core_test/disj.cljc index 1cf55476..a8cd7839 100644 --- a/test/clojure/core_test/disj.cljc +++ b/test/clojure/core_test/disj.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.disj - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists disj diff --git a/test/clojure/core_test/dissoc.cljc b/test/clojure/core_test/dissoc.cljc index 14f0afc5..70bd32f4 100644 --- a/test/clojure/core_test/dissoc.cljc +++ b/test/clojure/core_test/dissoc.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.dissoc - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists dissoc diff --git a/test/clojure/core_test/doseq.cljc b/test/clojure/core_test/doseq.cljc index 63e77342..50e7f66b 100644 --- a/test/clojure/core_test/doseq.cljc +++ b/test/clojure/core_test/doseq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.doseq - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) diff --git a/test/clojure/core_test/empty.cljc b/test/clojure/core_test/empty.cljc index 1d63edc1..ba5be2f5 100644 --- a/test/clojure/core_test/empty.cljc +++ b/test/clojure/core_test/empty.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.empty (:require [clojure.core-test.number-range :as r] - [clojure.test :as t :refer [are deftest testing is]] + [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists empty diff --git a/test/clojure/core_test/empty_qmark.cljc b/test/clojure/core_test/empty_qmark.cljc index 48a53fc5..f53f2606 100644 --- a/test/clojure/core_test/empty_qmark.cljc +++ b/test/clojure/core_test/empty_qmark.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.empty-qmark (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists empty? diff --git a/test/clojure/core_test/eq.cljc b/test/clojure/core_test/eq.cljc index 83a8dea7..f5c08288 100644 --- a/test/clojure/core_test/eq.cljc +++ b/test/clojure/core_test/eq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.eq - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn tests [eq] diff --git a/test/clojure/core_test/ffirst.cljc b/test/clojure/core_test/ffirst.cljc index 4562fafe..07674aae 100644 --- a/test/clojure/core_test/ffirst.cljc +++ b/test/clojure/core_test/ffirst.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.ffirst (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists ffirst diff --git a/test/clojure/core_test/find.cljc b/test/clojure/core_test/find.cljc index 5a152e77..7748e84a 100644 --- a/test/clojure/core_test/find.cljc +++ b/test/clojure/core_test/find.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.find (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists find diff --git a/test/clojure/core_test/fn_qmark.cljc b/test/clojure/core_test/fn_qmark.cljc index 79f8a9aa..0b7dd7cd 100644 --- a/test/clojure/core_test/fn_qmark.cljc +++ b/test/clojure/core_test/fn_qmark.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.fn-qmark (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn foo [x] (str "hello " x)) diff --git a/test/clojure/core_test/fnext.cljc b/test/clojure/core_test/fnext.cljc index 7a14b98b..0cf98401 100644 --- a/test/clojure/core_test/fnext.cljc +++ b/test/clojure/core_test/fnext.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.fnext (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists fnext diff --git a/test/clojure/core_test/get_in.cljc b/test/clojure/core_test/get_in.cljc index c64810c0..9d404d38 100644 --- a/test/clojure/core_test/get_in.cljc +++ b/test/clojure/core_test/get_in.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.get-in - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists get-in diff --git a/test/clojure/core_test/hash_map.cljc b/test/clojure/core_test/hash_map.cljc index 74184636..e0645d1a 100644 --- a/test/clojure/core_test/hash_map.cljc +++ b/test/clojure/core_test/hash_map.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.hash-map - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists hash-map diff --git a/test/clojure/core_test/hash_set.cljc b/test/clojure/core_test/hash_set.cljc index 37176349..5788d737 100644 --- a/test/clojure/core_test/hash_set.cljc +++ b/test/clojure/core_test/hash_set.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.hash-set - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists hash-set diff --git a/test/clojure/core_test/ifn_qmark.cljc b/test/clojure/core_test/ifn_qmark.cljc index d92231ce..390d8041 100644 --- a/test/clojure/core_test/ifn_qmark.cljc +++ b/test/clojure/core_test/ifn_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.ifn-qmark - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (defn foo [x] (str "hello " x)) diff --git a/test/clojure/core_test/inc.cljc b/test/clojure/core_test/inc.cljc index 2c219138..b40af94c 100644 --- a/test/clojure/core_test/inc.cljc +++ b/test/clojure/core_test/inc.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.inc - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists inc diff --git a/test/clojure/core_test/interpose.cljc b/test/clojure/core_test/interpose.cljc index bc4f0a9a..60605813 100644 --- a/test/clojure/core_test/interpose.cljc +++ b/test/clojure/core_test/interpose.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.interpose - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists diff --git a/test/clojure/core_test/juxt.cljc b/test/clojure/core_test/juxt.cljc index ca06c21b..0dff1f6c 100644 --- a/test/clojure/core_test/juxt.cljc +++ b/test/clojure/core_test/juxt.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.juxt - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists juxt diff --git a/test/clojure/core_test/key.cljc b/test/clojure/core_test/key.cljc index b0efa843..897575f9 100644 --- a/test/clojure/core_test/key.cljc +++ b/test/clojure/core_test/key.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.key - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists key diff --git a/test/clojure/core_test/keys.cljc b/test/clojure/core_test/keys.cljc index ab50ee2b..88a6e1e3 100644 --- a/test/clojure/core_test/keys.cljc +++ b/test/clojure/core_test/keys.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.keys - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists keys diff --git a/test/clojure/core_test/last.cljc b/test/clojure/core_test/last.cljc index 56584f0e..100b7776 100644 --- a/test/clojure/core_test/last.cljc +++ b/test/clojure/core_test/last.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.last (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists last diff --git a/test/clojure/core_test/merge.cljc b/test/clojure/core_test/merge.cljc index e20e40f9..98077138 100644 --- a/test/clojure/core_test/merge.cljc +++ b/test/clojure/core_test/merge.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.merge - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists merge diff --git a/test/clojure/core_test/minus.cljc b/test/clojure/core_test/minus.cljc index 9d38b357..b8be0754 100644 --- a/test/clojure/core_test/minus.cljc +++ b/test/clojure/core_test/minus.cljc @@ -1,6 +1,6 @@ #_{:clj-kondo/ignore [:unused-namespace]} (ns clojure.core-test.minus - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) diff --git a/test/clojure/core_test/nfirst.cljc b/test/clojure/core_test/nfirst.cljc index 017d3a64..b7cdbc82 100644 --- a/test/clojure/core_test/nfirst.cljc +++ b/test/clojure/core_test/nfirst.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.nfirst (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists nfirst diff --git a/test/clojure/core_test/nil_qmark.cljc b/test/clojure/core_test/nil_qmark.cljc index 1dd3f249..b51c7e56 100644 --- a/test/clojure/core_test/nil_qmark.cljc +++ b/test/clojure/core_test/nil_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.nil-qmark - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists nil? diff --git a/test/clojure/core_test/nnext.cljc b/test/clojure/core_test/nnext.cljc index 4f202774..f8bf3bf5 100644 --- a/test/clojure/core_test/nnext.cljc +++ b/test/clojure/core_test/nnext.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.nnext (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists nnext diff --git a/test/clojure/core_test/not.cljc b/test/clojure/core_test/not.cljc index 5112fdf1..12333c26 100644 --- a/test/clojure/core_test/not.cljc +++ b/test/clojure/core_test/not.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.not - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists not diff --git a/test/clojure/core_test/not_empty.cljc b/test/clojure/core_test/not_empty.cljc index 30d59bd7..63a87c3b 100644 --- a/test/clojure/core_test/not_empty.cljc +++ b/test/clojure/core_test/not_empty.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.not-empty (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists not-empty diff --git a/test/clojure/core_test/or.cljc b/test/clojure/core_test/or.cljc index 0f0fa020..f437a4c1 100644 --- a/test/clojure/core_test/or.cljc +++ b/test/clojure/core_test/or.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.or - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists or diff --git a/test/clojure/core_test/parse_uuid.cljc b/test/clojure/core_test/parse_uuid.cljc index 867cec7d..9b88b94c 100644 --- a/test/clojure/core_test/parse_uuid.cljc +++ b/test/clojure/core_test/parse_uuid.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.parse-uuid (:require clojure.core - [clojure.test :as t :refer [are deftest testing is]] + [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists parse-uuid diff --git a/test/clojure/core_test/rand.cljc b/test/clojure/core_test/rand.cljc index 19c04cf3..cead333c 100644 --- a/test/clojure/core_test/rand.cljc +++ b/test/clojure/core_test/rand.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.rand - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability :as p])) (p/when-var-exists rand diff --git a/test/clojure/core_test/realized_qmark.cljc b/test/clojure/core_test/realized_qmark.cljc index ba516025..ff2fb89f 100644 --- a/test/clojure/core_test/realized_qmark.cljc +++ b/test/clojure/core_test/realized_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.realized-qmark - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) ;; You realize the sun doesn't go down diff --git a/test/clojure/core_test/reduce.cljc b/test/clojure/core_test/reduce.cljc index e7dd5f9a..f0c8b890 100644 --- a/test/clojure/core_test/reduce.cljc +++ b/test/clojure/core_test/reduce.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.reduce (:require - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]]) #?(:clj (:import (clojure.lang IReduce)))) diff --git a/test/clojure/core_test/remove_watch.cljc b/test/clojure/core_test/remove_watch.cljc index d789dc33..fad97fb9 100644 --- a/test/clojure/core_test/remove_watch.cljc +++ b/test/clojure/core_test/remove_watch.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.remove-watch - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists remove-watch diff --git a/test/clojure/core_test/repeat.cljc b/test/clojure/core_test/repeat.cljc index 57b5c727..6a2d88dc 100644 --- a/test/clojure/core_test/repeat.cljc +++ b/test/clojure/core_test/repeat.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.repeat - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists repeat diff --git a/test/clojure/core_test/reverse.cljc b/test/clojure/core_test/reverse.cljc index 85e5a696..d9b5aaf4 100644 --- a/test/clojure/core_test/reverse.cljc +++ b/test/clojure/core_test/reverse.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.reverse - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists reverse diff --git a/test/clojure/core_test/rseq.cljc b/test/clojure/core_test/rseq.cljc index c4ab3dd0..867fa668 100644 --- a/test/clojure/core_test/rseq.cljc +++ b/test/clojure/core_test/rseq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.rseq - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists rseq diff --git a/test/clojure/core_test/select_keys.cljc b/test/clojure/core_test/select_keys.cljc index caa18282..61c65d5f 100644 --- a/test/clojure/core_test/select_keys.cljc +++ b/test/clojure/core_test/select_keys.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.select-keys (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists select-keys diff --git a/test/clojure/core_test/seq.cljc b/test/clojure/core_test/seq.cljc index 43c50afb..af71faba 100644 --- a/test/clojure/core_test/seq.cljc +++ b/test/clojure/core_test/seq.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.seq - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists seq diff --git a/test/clojure/core_test/set.cljc b/test/clojure/core_test/set.cljc index b936fad5..0f29c547 100644 --- a/test/clojure/core_test/set.cljc +++ b/test/clojure/core_test/set.cljc @@ -1,6 +1,6 @@ (ns clojure.core-test.set (:require clojure.core - [clojure.test :as t :refer [deftest testing is]] + [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists set diff --git a/test/clojure/core_test/shuffle.cljc b/test/clojure/core_test/shuffle.cljc index e3b6d200..f5d44f39 100644 --- a/test/clojure/core_test/shuffle.cljc +++ b/test/clojure/core_test/shuffle.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.shuffle - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists shuffle diff --git a/test/clojure/core_test/slash.cljc b/test/clojure/core_test/slash.cljc index 532e53fd..491862bd 100644 --- a/test/clojure/core_test/slash.cljc +++ b/test/clojure/core_test/slash.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.slash - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists / diff --git a/test/clojure/core_test/some.cljc b/test/clojure/core_test/some.cljc index d96ca821..1b8a1d65 100644 --- a/test/clojure/core_test/some.cljc +++ b/test/clojure/core_test/some.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.some - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists some diff --git a/test/clojure/core_test/some_fn.cljc b/test/clojure/core_test/some_fn.cljc index 7dc8d87c..f1049a07 100644 --- a/test/clojure/core_test/some_fn.cljc +++ b/test/clojure/core_test/some_fn.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.some-fn - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists some-fn diff --git a/test/clojure/core_test/some_qmark.cljc b/test/clojure/core_test/some_qmark.cljc index 1a8b444a..b92e0748 100644 --- a/test/clojure/core_test/some_qmark.cljc +++ b/test/clojure/core_test/some_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.some-qmark - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists some? diff --git a/test/clojure/core_test/sort.cljc b/test/clojure/core_test/sort.cljc index 048408cf..7fd16bb2 100644 --- a/test/clojure/core_test/sort.cljc +++ b/test/clojure/core_test/sort.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.sort - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists sort diff --git a/test/clojure/core_test/sorted_qmark.cljc b/test/clojure/core_test/sorted_qmark.cljc index e3b2ed98..561bb591 100644 --- a/test/clojure/core_test/sorted_qmark.cljc +++ b/test/clojure/core_test/sorted_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.sorted-qmark - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists sorted? diff --git a/test/clojure/core_test/star.cljc b/test/clojure/core_test/star.cljc index 06381056..a6daadc1 100644 --- a/test/clojure/core_test/star.cljc +++ b/test/clojure/core_test/star.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.star - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) diff --git a/test/clojure/core_test/val.cljc b/test/clojure/core_test/val.cljc index 9ef160a6..76b5e13b 100644 --- a/test/clojure/core_test/val.cljc +++ b/test/clojure/core_test/val.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.val - (:require [clojure.test :refer [are deftest testing is]] + (:require [clojure.test :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists val diff --git a/test/clojure/core_test/vals.cljc b/test/clojure/core_test/vals.cljc index f0efd554..ef737597 100644 --- a/test/clojure/core_test/vals.cljc +++ b/test/clojure/core_test/vals.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.vals - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists vals diff --git a/test/clojure/core_test/var_qmark.cljc b/test/clojure/core_test/var_qmark.cljc index 76d1a23d..33d3aaeb 100644 --- a/test/clojure/core_test/var_qmark.cljc +++ b/test/clojure/core_test/var_qmark.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.var-qmark - (:require [clojure.test :as t :refer [are deftest testing is]] + (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (def foo :foo) diff --git a/test/clojure/core_test/when.cljc b/test/clojure/core_test/when.cljc index 2c6f40d6..c762f4ae 100644 --- a/test/clojure/core_test/when.cljc +++ b/test/clojure/core_test/when.cljc @@ -1,5 +1,5 @@ (ns clojure.core-test.when - (:require [clojure.test :as t :refer [deftest testing is]] + (:require [clojure.test :as t :refer [deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) (when-var-exists when From fd023c8cf4d2b581bf59fc924d434042ca8cd0cd Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:02:37 -0500 Subject: [PATCH 42/51] Move common case to `:default` --- test/clojure/core_test/dec.cljc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/clojure/core_test/dec.cljc b/test/clojure/core_test/dec.cljc index d82fc697..a2944908 100644 --- a/test/clojure/core_test/dec.cljc +++ b/test/clojure/core_test/dec.cljc @@ -30,6 +30,5 @@ (testing "dec-nil" ;; ClojureScript says (= -1 (dec nil)) because JavaScript casts null to 0 - #?(:clj (is (thrown? Exception (dec #_:clj-kondo/ignore nil))) - :cljr (is (thrown? Exception (dec #_:clj-kondo/ignore nil))) - :cljs (is (= -1 (dec #_:clj-kondo/ignore nil))))))) + #?(:cljs (is (= -1 (dec #_:clj-kondo/ignore nil))) + :default (is (thrown? Exception (dec #_:clj-kondo/ignore nil))))))) From 9b902bd35700ff91742e6c5e119adca9561e95c0 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:11:54 -0500 Subject: [PATCH 43/51] Remove whitespace --- test/clojure/core_test/parse_long.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/parse_long.cljc b/test/clojure/core_test/parse_long.cljc index 613b9e41..36ecb767 100644 --- a/test/clojure/core_test/parse_long.cljc +++ b/test/clojure/core_test/parse_long.cljc @@ -30,7 +30,7 @@ -100000000000 "-100000000000" #?@(:cljs [nil "999999999999999999" 999999999999999 "999999999999999"] - :default [999999999999999999 "999999999999999999"]))) + :default [999999999999999999 "999999999999999999"]))) (testing "exceptions" #?(:cljs (are [x] (thrown? js/Error (parse-long x)) {} From 7cf4f00022169e2b508cb0d103896617840364d5 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:14:29 -0500 Subject: [PATCH 44/51] Whoops --- test/clojure/core_test/portability.cljc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/clojure/core_test/portability.cljc b/test/clojure/core_test/portability.cljc index da476f84..59c0ab5b 100644 --- a/test/clojure/core_test/portability.cljc +++ b/test/clojure/core_test/portability.cljc @@ -19,8 +19,8 @@ (not (int? n))))) #_{:clj-kondo/ignore [:unused-binding]} -(defn sleep [n] +(defn sleep [ms] (#?(:cljr System.Threading.Thread/Sleep :clj Thread/sleep - :cljs #(js/setTimeout identity) - n))) + :cljs #(js/setTimeout identity %) + ms))) From 0e18e31f6db3e165fe81743034146834f856319d Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:17:40 -0500 Subject: [PATCH 45/51] Some more cleanup --- test/clojure/core_test/abs.cljc | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/test/clojure/core_test/abs.cljc b/test/clojure/core_test/abs.cljc index 41d17ae7..f2a8faaa 100644 --- a/test/clojure/core_test/abs.cljc +++ b/test/clojure/core_test/abs.cljc @@ -1,29 +1,30 @@ (ns clojure.core-test.abs (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/abs +(when-var-exists abs (deftest test-abs (testing "common" (are [in ex] (= ex (abs in)) - -1 1 - 1 1 - (inc r/min-int) (- (inc r/min-int)) + -1 1 + 1 1 + (inc r/min-int) (- (inc r/min-int)) + -1.0 1.0 + -0.0 0.0 + ##-Inf ##Inf + ##Inf ##Inf + -123.456M 123.456M + -123N 123N + #?@(:clj [r/min-int r/min-int]) ; fixed int 2's complement oddity, see below for :cljr - -1.0 1.0 - -0.0 0.0 - ##-Inf ##Inf - ##Inf ##Inf - -123.456M 123.456M - -123N 123N #?@(:cljs [] :default - [-1/5 1/5])) + [-1/5 1/5])) (is (NaN? (abs ##NaN))) - #?(:cljr (is (thrown? System.OverflowException (abs r/min-int)))) + #?(:cljr (is (thrown? System.OverflowException (abs r/min-int)))) #?(:cljs (is (zero? (abs nil))) - :default (is (thrown? #?(:clj Exception :cljr Exception) (abs nil))))) + :default (is (thrown? Exception (abs nil))))) (testing "unboxed" (let [a 42 From a351ad0e812a179cee58580f5b09f78dcd581cf1 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:21:51 -0500 Subject: [PATCH 46/51] Some more --- test/clojure/core_test/aclone.cljc | 4 ++-- test/clojure/core_test/add_watch.cljc | 18 ++++++++++-------- test/clojure/core_test/and.cljc | 10 +++++++--- test/clojure/core_test/any_qmark.cljc | 2 +- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/test/clojure/core_test/aclone.cljc b/test/clojure/core_test/aclone.cljc index e316a00c..48cd7fc2 100644 --- a/test/clojure/core_test/aclone.cljc +++ b/test/clojure/core_test/aclone.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.aclone (:require [clojure.test :as t :refer [deftest is testing]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/aclone +(when-var-exists aclone (defn clone-test [a b] (aset a 0 1) diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index dda1a8ac..52bd0b62 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -1,8 +1,8 @@ (ns clojure.core-test.add-watch (:require [clojure.test :as t :refer [deftest is testing]] - [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) + [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists sleep]])) -(when-var-exists clojure.core/add-watch +(when-var-exists add-watch (deftest test-add-watch (testing "watch atom" ;; checks atoms and interspersed multiple watches @@ -73,7 +73,9 @@ #?@(:cljs [] :default - [(def testvar-a 0) + [#_{:clj-kondo/ignore [:inline-def]} + (def testvar-a 0) + #_{:clj-kondo/ignore [:inline-def]} (def testvar-b 10) (testing "watch var" @@ -156,7 +158,7 @@ (catch #?(:cljs :default :clj clojure.lang.ExceptionInfo :cljr clojure.lang.ExceptionInfo) e - (let [{:keys [old] :as data} (ex-data e)] + (let [{:keys [_old] :as data} (ex-data e)] (vswap! state conj data))))) keyed (fn [k s] (filter #(= k (:key %)) s))] @@ -216,14 +218,14 @@ :default [(testing "watch agent" (let [state (volatile! []) - tester1 (fn [key ref old new] + tester1 (fn [key _ref old new] (when (not= old new) (vswap! state conj {:key key :old old :new new :tester 1}))) - tester2 (fn [key ref old new] + tester2 (fn [key _ref old new] (when (not= old new) (vswap! state conj {:key key :old old :new new :tester 2}))) agent-end (promise) - err (fn [key ref old new] + err (fn [key _ref old new] (deliver agent-end :done) (throw (ex-info "test" {:key key :old old :new new :tester :err}))) g (agent 20) @@ -232,7 +234,7 @@ (vswap! state conj (ex-data e)) (restart-agent g :ready)) (send g inc)) - keyed (fn [k s] (set (filter #(= k (:key %)) s)))] + _keyed (fn [k s] (set (filter #(= k (:key %)) s)))] ;; add a watch to the agent (is (= g (add-watch g :g tester1))) diff --git a/test/clojure/core_test/and.cljc b/test/clojure/core_test/and.cljc index b612f565..21f8bc48 100644 --- a/test/clojure/core_test/and.cljc +++ b/test/clojure/core_test/and.cljc @@ -2,11 +2,13 @@ (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/and +(when-var-exists and (deftest test-and (testing "common" (is (= true (and))) - (are [x] (= x (and x)) + (are [x] (= x + #_{:clj-kondo/ignore [:single-logical-operand]} + (and x)) true false nil @@ -33,4 +35,6 @@ (is (= nil (and nil nil nil nil nil nil nil nil nil nil nil nil true))))) (testing "infinite-sequence" - (is (some? (and (range))))))) + (is (some? + #_{:clj-kondo/ignore [:single-logical-operand]} + (and (range))))))) diff --git a/test/clojure/core_test/any_qmark.cljc b/test/clojure/core_test/any_qmark.cljc index fa9a5688..ddda1b57 100644 --- a/test/clojure/core_test/any_qmark.cljc +++ b/test/clojure/core_test/any_qmark.cljc @@ -2,7 +2,7 @@ (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) -(when-var-exists clojure.core/any? +(when-var-exists any? (deftest test-any? (testing "common" (are [x] (= true (any? x)) From b6d8611fef1fd945d87aade6f2dc08e51c9229e4 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 16:33:08 -0500 Subject: [PATCH 47/51] Syntax! --- test/clojure/core_test/portability.cljc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/clojure/core_test/portability.cljc b/test/clojure/core_test/portability.cljc index 59c0ab5b..12e39730 100644 --- a/test/clojure/core_test/portability.cljc +++ b/test/clojure/core_test/portability.cljc @@ -18,9 +18,8 @@ (and (integer? n) (not (int? n))))) -#_{:clj-kondo/ignore [:unused-binding]} (defn sleep [ms] (#?(:cljr System.Threading.Thread/Sleep - :clj Thread/sleep :cljs #(js/setTimeout identity %) - ms))) + :clj Thread/sleep) + ms)) From e73800368609bcf69a12a0e4d80357e7865dcdbb Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 15 Nov 2025 17:04:26 -0500 Subject: [PATCH 48/51] Provide defaults --- test/clojure/core_test/abs.cljc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/clojure/core_test/abs.cljc b/test/clojure/core_test/abs.cljc index f2a8faaa..cbda18b6 100644 --- a/test/clojure/core_test/abs.cljc +++ b/test/clojure/core_test/abs.cljc @@ -17,7 +17,9 @@ -123.456M 123.456M -123N 123N - #?@(:clj [r/min-int r/min-int]) ; fixed int 2's complement oddity, see below for :cljr + #?@(:cljr [] + :clj [r/min-int r/min-int] ; fixed int 2's complement oddity, see below for :cljr + :default [r/min-int (* -1 r/min-int)]) #?@(:cljs [] :default [-1/5 1/5])) From 3abed0406560894e747debadcbc1973ddf4200c4 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 22 Nov 2025 23:12:20 -0700 Subject: [PATCH 49/51] Cleanup --- .clj-kondo/config.edn | 11 +++++++++++ .gitignore | 6 ++++-- .lsp/config.edn | 1 + test/clojure/core_test/add_watch.cljc | 2 -- test/clojure/core_test/and.cljc | 2 -- test/clojure/core_test/dec.cljc | 4 ++-- test/clojure/core_test/even_qmark.cljc | 1 - test/clojure/core_test/format.cljc | 1 - test/clojure/core_test/ifn_qmark.cljc | 1 - test/clojure/core_test/inc.cljc | 4 ++-- test/clojure/core_test/keyword.cljc | 1 - test/clojure/core_test/minus.cljc | 4 +--- test/clojure/core_test/num.cljc | 3 +-- test/clojure/core_test/odd_qmark.cljc | 2 +- test/clojure/core_test/plus.cljc | 2 -- test/clojure/core_test/remove_watch.cljc | 4 ---- test/clojure/core_test/slash.cljc | 1 - test/clojure/core_test/star.cljc | 1 - test/clojure/core_test/update.cljc | 16 ++++------------ test/clojure/core_test/var_qmark.cljc | 6 ++---- test/clojure/core_test/when.cljc | 2 -- 21 files changed, 29 insertions(+), 46 deletions(-) create mode 100644 .clj-kondo/config.edn create mode 100644 .lsp/config.edn diff --git a/.clj-kondo/config.edn b/.clj-kondo/config.edn new file mode 100644 index 00000000..667c3ab5 --- /dev/null +++ b/.clj-kondo/config.edn @@ -0,0 +1,11 @@ +{:linters {:inline-def {:level :off} + :invalid-arity {:level :off} + :missing-body-in-when {:level :off} + :single-logical-operand {:level :off} + :type-mismatch {:level :off} + :unresolved-symbol {:level :off} + :uninitialized-var {:level :off} + :unused-namespace {:level :off} + :unused-referred-var {:level :off} + :unused-value {:level :off}} + :lint-as {clojure.core-test.portability/when-var-exists clojure.core/when}} diff --git a/.gitignore b/.gitignore index 78fd012c..4960625b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,10 @@ pom.xml.asc /.prepl-port .hgignore .hg/ -/.clj-kondo -/.lsp +/.clj-kondo/* +!/.clj-kondo/config.edn +/.lsp/* +!/.lsp/config.edn *~ .*.swp /node_modules diff --git a/.lsp/config.edn b/.lsp/config.edn new file mode 100644 index 00000000..313d04c3 --- /dev/null +++ b/.lsp/config.edn @@ -0,0 +1 @@ +{:linters {:clojure-lsp/unused-public-var {:level :off}}} diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 52bd0b62..8b6342f5 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -73,9 +73,7 @@ #?@(:cljs [] :default - [#_{:clj-kondo/ignore [:inline-def]} (def testvar-a 0) - #_{:clj-kondo/ignore [:inline-def]} (def testvar-b 10) (testing "watch var" diff --git a/test/clojure/core_test/and.cljc b/test/clojure/core_test/and.cljc index 21f8bc48..ed6e73a4 100644 --- a/test/clojure/core_test/and.cljc +++ b/test/clojure/core_test/and.cljc @@ -7,7 +7,6 @@ (testing "common" (is (= true (and))) (are [x] (= x - #_{:clj-kondo/ignore [:single-logical-operand]} (and x)) true false @@ -36,5 +35,4 @@ (testing "infinite-sequence" (is (some? - #_{:clj-kondo/ignore [:single-logical-operand]} (and (range))))))) diff --git a/test/clojure/core_test/dec.cljc b/test/clojure/core_test/dec.cljc index a2944908..1c076609 100644 --- a/test/clojure/core_test/dec.cljc +++ b/test/clojure/core_test/dec.cljc @@ -30,5 +30,5 @@ (testing "dec-nil" ;; ClojureScript says (= -1 (dec nil)) because JavaScript casts null to 0 - #?(:cljs (is (= -1 (dec #_:clj-kondo/ignore nil))) - :default (is (thrown? Exception (dec #_:clj-kondo/ignore nil))))))) + #?(:cljs (is (= -1 (dec nil))) + :default (is (thrown? Exception (dec nil))))))) diff --git a/test/clojure/core_test/even_qmark.cljc b/test/clojure/core_test/even_qmark.cljc index 73dc0a14..8afd8e18 100644 --- a/test/clojure/core_test/even_qmark.cljc +++ b/test/clojure/core_test/even_qmark.cljc @@ -19,7 +19,6 @@ (testing "invalid" (are [x] (thrown? #?(:cljs :default :default Exception) (even? x)) - #_:clj-kondo/ignore nil ##Inf ##-Inf diff --git a/test/clojure/core_test/format.cljc b/test/clojure/core_test/format.cljc index 429e34cf..842e30f2 100644 --- a/test/clojure/core_test/format.cljc +++ b/test/clojure/core_test/format.cljc @@ -1,4 +1,3 @@ -#_{:clj-kondo/ignore [:unused-referred-var]} (ns clojure.core-test.format (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) diff --git a/test/clojure/core_test/ifn_qmark.cljc b/test/clojure/core_test/ifn_qmark.cljc index 390d8041..6c603753 100644 --- a/test/clojure/core_test/ifn_qmark.cljc +++ b/test/clojure/core_test/ifn_qmark.cljc @@ -37,7 +37,6 @@ (when-var-exists defmulti (testing "multimethods" - #_{:clj-kondo/ignore [:inline-def]} (defmulti my-multi first) (defmethod my-multi :foo [_] :multi/foo) (is (ifn? my-multi)))) diff --git a/test/clojure/core_test/inc.cljc b/test/clojure/core_test/inc.cljc index b40af94c..e731b98d 100644 --- a/test/clojure/core_test/inc.cljc +++ b/test/clojure/core_test/inc.cljc @@ -32,5 +32,5 @@ (testing "inc-nil" ;; ClojureScript says (= 1 (inc nil)) because JavaScript casts null to 0 ;; https://clojuredocs.org/clojure.core/inc#example-6156a59ee4b0b1e3652d754f - #?(:cljs (is (= 1 (inc #_:clj-kondo/ignore nil))) - :default (is (thrown? Exception (inc #_:clj-kondo/ignore nil))))))) + #?(:cljs (is (= 1 (inc nil))) + :default (is (thrown? Exception (inc nil))))))) diff --git a/test/clojure/core_test/keyword.cljc b/test/clojure/core_test/keyword.cljc index b8ce34e8..01ca5054 100644 --- a/test/clojure/core_test/keyword.cljc +++ b/test/clojure/core_test/keyword.cljc @@ -84,7 +84,6 @@ #?(; CLJS creates a keyword that isn't ; readable (symbol part is null string: ":abc/") :cljs - #_{:clj-kondo/ignore [:unused-value]} nil :jank diff --git a/test/clojure/core_test/minus.cljc b/test/clojure/core_test/minus.cljc index b8be0754..f97503bd 100644 --- a/test/clojure/core_test/minus.cljc +++ b/test/clojure/core_test/minus.cljc @@ -1,4 +1,3 @@ -#_{:clj-kondo/ignore [:unused-namespace]} (ns clojure.core-test.minus (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] @@ -70,7 +69,7 @@ ;; Zero arg #?(:cljs nil - :default (is (thrown? #?(:cljs :default :clj Exception :cljr Exception) (-)))) + :default (is (thrown? #?(:cljs :default :default Exception) (-)))) ;; Single arg (is (= -3 (- 3))) @@ -106,7 +105,6 @@ #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil ; CLJS doesn't support ratios :default diff --git a/test/clojure/core_test/num.cljc b/test/clojure/core_test/num.cljc index e0cc1347..aab3d2ee 100644 --- a/test/clojure/core_test/num.cljc +++ b/test/clojure/core_test/num.cljc @@ -1,4 +1,3 @@ -#_{:clj-kondo/ignore [:unused-referred-var]} (ns clojure.core-test.num (:require [clojure.test :as t :refer [deftest is]] [clojure.core-test.portability #?(:cljs :refer-macros :default :refer) [when-var-exists]])) @@ -23,5 +22,5 @@ (is (instance? System.Int64 (num x)))) ;; `BigInt` and `BigDecimal` are always boxed and `num` just returns them as-is. (is (instance? clojure.lang.BigInt (num 1N))) - (is (instance? clojure.lang.BigDecimal (num 1.0M)))] + (is (instance? clojure.lang.BigDecimal (num 1.0M)))] :default (is false "TODO test num")))) diff --git a/test/clojure/core_test/odd_qmark.cljc b/test/clojure/core_test/odd_qmark.cljc index c5cce0c6..fab9a695 100644 --- a/test/clojure/core_test/odd_qmark.cljc +++ b/test/clojure/core_test/odd_qmark.cljc @@ -19,7 +19,7 @@ (testing "invalid" (are [x] (thrown? #?(:cljs js/Error :default Exception) (odd? x)) - #_:clj-kondo/ignore nil + nil ##Inf ##-Inf ##NaN diff --git a/test/clojure/core_test/plus.cljc b/test/clojure/core_test/plus.cljc index 876b1e71..a6cc08ad 100644 --- a/test/clojure/core_test/plus.cljc +++ b/test/clojure/core_test/plus.cljc @@ -1,4 +1,3 @@ -#_{:clj-kondo/ignore [:unused-namespace]} (ns clojure.core-test.plus (:require [clojure.test :as t :refer [are deftest is testing]] [clojure.core-test.number-range :as r] @@ -101,7 +100,6 @@ (is (instance? clojure.lang.BigInt (+ 1N 5N)))])) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default diff --git a/test/clojure/core_test/remove_watch.cljc b/test/clojure/core_test/remove_watch.cljc index fad97fb9..fab8bc48 100644 --- a/test/clojure/core_test/remove_watch.cljc +++ b/test/clojure/core_test/remove_watch.cljc @@ -49,12 +49,10 @@ {:key :key2 :ref watchable :old 1 :new 2 :watcher :watcher2}})))) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default (testing "remove watch vars" - #_{:clj-kondo/ignore [:inline-def]} (def watchable 0) (let [messages (volatile! #{}) @@ -100,7 +98,6 @@ {:key :key2 :ref #'watchable :old 1 :new 2 :watcher :watcher2}}))))) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default @@ -147,7 +144,6 @@ {:key :key2 :ref watchable :old 1 :new 2 :watcher :watcher2}}))))) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default diff --git a/test/clojure/core_test/slash.cljc b/test/clojure/core_test/slash.cljc index 491862bd..db1cd800 100644 --- a/test/clojure/core_test/slash.cljc +++ b/test/clojure/core_test/slash.cljc @@ -135,7 +135,6 @@ (is (thrown? Exception (/ 1 nil)))])) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default diff --git a/test/clojure/core_test/star.cljc b/test/clojure/core_test/star.cljc index a6daadc1..399395c3 100644 --- a/test/clojure/core_test/star.cljc +++ b/test/clojure/core_test/star.cljc @@ -96,7 +96,6 @@ (is (thrown? Exception (* 3 (long (/ r/min-int 2)))))])) #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} nil :default diff --git a/test/clojure/core_test/update.cljc b/test/clojure/core_test/update.cljc index 6e17e427..02fd5c58 100644 --- a/test/clojure/core_test/update.cljc +++ b/test/clojure/core_test/update.cljc @@ -104,19 +104,11 @@ [{:k 5} :k ""] ;; Laziness doesn't work on CLJS - #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} - nil - - :default - [(repeat 1) :k identity]) + #?(:cljs nil + :default [(repeat 1) :k identity]) ;; CLJS can accept arbitrary arguments ;; Throw when wrong number of indices are passed to the function ;; CLJS returns 1, and doesn't throw! - #?(:cljs - #_{:clj-kondo/ignore [:unused-value]} - nil - - :default - [{:k 1} :k identity 1 2 3 4]))))) + #?(:cljs nil + :default [{:k 1} :k identity 1 2 3 4]))))) diff --git a/test/clojure/core_test/var_qmark.cljc b/test/clojure/core_test/var_qmark.cljc index 33d3aaeb..c58225ef 100644 --- a/test/clojure/core_test/var_qmark.cljc +++ b/test/clojure/core_test/var_qmark.cljc @@ -24,12 +24,10 @@ #'*assert* ; dynamic #?@(; CLJS `def` doesn't necessarily evaluate to the value of the var: :cljs [], - :default [#_{:clj-kondo/ignore [:inline-def :uninitialized-var :clojure-lsp/unused-public-var]} - (def baz)]) + :default [(def baz)]) #?@(; CLJS `defn` produces a non-var :cljs [], - :default [#_{:clj-kondo/ignore [:inline-def :uninitialized-var]} - (defn qux [] nil)])) + :default [(defn qux [] nil)])) (when-var-exists defmulti (is (var? #'bar))) diff --git a/test/clojure/core_test/when.cljc b/test/clojure/core_test/when.cljc index c762f4ae..2c7b22ff 100644 --- a/test/clojure/core_test/when.cljc +++ b/test/clojure/core_test/when.cljc @@ -9,7 +9,6 @@ (is (nil? (when false :foo))) (is (nil? (when ((constantly nil)) :foo))) - #_{:clj-kondo/ignore [:missing-body-in-when]} (testing "without a body, truth doesn't matter" (is (nil? (when false))) (is (nil? (when true)))) @@ -30,7 +29,6 @@ (testing "`when` has implicit `do`" (is (= :bar - #_{:clj-kondo/ignore [:unused-value]} (when true :foo :bar))) (let [foo (atom 0)] (is (= :bar (when true From 5bc12fb1926c2de41a5b702f2251532d9fbe20a9 Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 22 Nov 2025 23:20:12 -0700 Subject: [PATCH 50/51] Fix syntax issue --- test/clojure/core_test/add_watch.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 8b6342f5..833d7184 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -139,7 +139,7 @@ (is (contains? (set (keyed :e @state)) {:key :e :ref #'testvar-a :old 4 :new 5 :tester :err})) (is (contains? (set (keyed :e @state)) - {:key :e :ref #'testvar-b :old 14 :new 15 :tester :err})))))]) + {:key :e :ref #'testvar-b :old 14 :new 15 :tester :err})))))) #?(:cljs nil :default From e685a5b8af3f3138547bcf9f7eb0f87050f7a3af Mon Sep 17 00:00:00 2001 From: Emma Griffin Date: Sat, 22 Nov 2025 23:32:03 -0700 Subject: [PATCH 51/51] Take 2 --- test/clojure/core_test/add_watch.cljc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 833d7184..5b8d26eb 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -73,7 +73,7 @@ #?@(:cljs [] :default - (def testvar-a 0) + [(def testvar-a 0) (def testvar-b 10) (testing "watch var" @@ -139,7 +139,7 @@ (is (contains? (set (keyed :e @state)) {:key :e :ref #'testvar-a :old 4 :new 5 :tester :err})) (is (contains? (set (keyed :e @state)) - {:key :e :ref #'testvar-b :old 14 :new 15 :tester :err})))))) + {:key :e :ref #'testvar-b :old 14 :new 15 :tester :err})))))]) #?(:cljs nil :default