Protocol test
This commit is contained in:
parent
db4c1d049d
commit
76dd775991
2 changed files with 9 additions and 5 deletions
|
|
@ -241,7 +241,8 @@
|
||||||
:methods [borkdude.graal.LockFix] ;; support for locking
|
:methods [borkdude.graal.LockFix] ;; support for locking
|
||||||
|
|
||||||
:fields [clojure.lang.PersistentQueue]
|
:fields [clojure.lang.PersistentQueue]
|
||||||
:instance-checks [clojure.lang.Cycle
|
:instance-checks [clojure.lang.Cons
|
||||||
|
clojure.lang.Cycle
|
||||||
clojure.lang.IObj
|
clojure.lang.IObj
|
||||||
clojure.lang.IFn
|
clojure.lang.IFn
|
||||||
clojure.lang.IPending
|
clojure.lang.IPending
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
(ns babashka.protocols-test
|
(ns babashka.protocols-test
|
||||||
(:require [babashka.test-utils :refer [bb]]
|
(:require [babashka.test-utils :refer [bb]]
|
||||||
|
[clojure.edn :as edn]
|
||||||
[clojure.test :as t :refer [deftest is]]))
|
[clojure.test :as t :refer [deftest is]]))
|
||||||
|
|
||||||
(deftest safe-datafy
|
(deftest safe-datafy
|
||||||
(is (bb
|
(is (apply = 100000 (map count (edn/read-string (bb nil "
|
||||||
"
|
|
||||||
(ns safe-datafy
|
(ns safe-datafy
|
||||||
(:require [clojure.core.protocols :as p]
|
(:require [clojure.core.protocols :as p]
|
||||||
[clojure.datafy :as df]))
|
[clojure.datafy :as df]))
|
||||||
|
|
@ -17,6 +17,8 @@
|
||||||
(vary-meta merge (meta s) {:nextjournal.seq/truncated? true})))
|
(vary-meta merge (meta s) {:nextjournal.seq/truncated? true})))
|
||||||
|
|
||||||
(extend-protocol p/Datafiable
|
(extend-protocol p/Datafiable
|
||||||
|
clojure.lang.Cons
|
||||||
|
(df/datafy [s] (infinite-sequence-chunking s))
|
||||||
clojure.lang.LazySeq
|
clojure.lang.LazySeq
|
||||||
(df/datafy [s] (infinite-sequence-chunking s))
|
(df/datafy [s] (infinite-sequence-chunking s))
|
||||||
clojure.lang.Iterate
|
clojure.lang.Iterate
|
||||||
|
|
@ -35,5 +37,6 @@
|
||||||
(vary-meta (fn [m] (merge (dissoc m :clojure.datafy/class :clojure.datafy/obj)
|
(vary-meta (fn [m] (merge (dissoc m :clojure.datafy/class :clojure.datafy/obj)
|
||||||
(meta x)))))))
|
(meta x)))))))
|
||||||
|
|
||||||
[(safe-datafy (range))
|
[(doall (safe-datafy (range)))
|
||||||
(safe-datafy (repeat 1))]")))
|
(doall (safe-datafy (repeat 1)))
|
||||||
|
(doall (safe-datafy (cons -1 (range))))]"))))))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue