diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index fd6e430a..d314b9ba 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -425,6 +425,7 @@ (instance? java.util.Map v) java.util.Map ;; added for issue #239 regarding clj-http-lite + ;; can potentially be removed due to fix for #1061 (instance? java.io.ByteArrayOutputStream v) java.io.ByteArrayOutputStream (instance? java.security.MessageDigest v) @@ -458,7 +459,10 @@ ;; this makes interop on reified classes work ;; see java_net_http_test/interop-test (instance? sci.impl.types.IReified v) - (first (t/getInterfaces v))))))) + (first (t/getInterfaces v)) + ;; fix for #1061 + (instance? java.io.Closeable v) + java.io.Closeable))))) (def class-map (gen-class-map)) diff --git a/test/babashka/main_test.clj b/test/babashka/main_test.clj index 3b10f9f7..51eb69d5 100644 --- a/test/babashka/main_test.clj +++ b/test/babashka/main_test.clj @@ -411,7 +411,8 @@ (is (.exists f2)) (let [v (bb nil "-f" (.getPath (io/file "test-resources" "babashka" "glob.clj")))] (is (vector? v)) - (is (.exists (io/file (first v))))))) + (is (.exists (io/file (first v))))) + (is (= :success (bb nil "(with-open [str (java.nio.file.Files/newDirectoryStream (.toPath (clojure.java.io/file \".\")))] :success)"))))) (deftest future-print-test (testing "the root binding of sci/*out*"