[#601] Support clojure.java.io/Coercions

This commit is contained in:
Michiel Borkent 2020-10-17 21:13:27 +02:00
parent b3fbe7e12e
commit ab5a02ec30

View file

@ -0,0 +1,25 @@
(ns babashka.impl.clojure.java.io-test
(:require [babashka.test-utils :as test-utils]
[clojure.edn :as edn]
[clojure.test :as t :refer [deftest is]]))
(defn bb [& args]
(edn/read-string
{:readers *data-readers*
:eof nil}
(apply test-utils/bb nil (map str args))))
(deftest nio-coercion-test
(is (true? (bb "
(require '[clojure.java.io :as io])
(extend-protocol io/Coercions
java.nio.file.Path
(as-file [this] (.toFile this))
(as-url [this] (.. this (toFile) (toURL))))
(def path (.toPath (io/file \".\")))
;; ^ this is a java.nio.file.Path
(.exists (io/file path)) ;; true
"))))