From 51133263f24b25c991c7fbc7474c2491f482912f Mon Sep 17 00:00:00 2001 From: Burin Choomnuan Date: Tue, 17 Nov 2020 03:43:29 -0500 Subject: [PATCH] Add PipedInputStream and PipedOutputStream --- src/babashka/impl/classes.clj | 2 ++ test/babashka/java_io_piped_stream_test.clj | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 test/babashka/java_io_piped_stream_test.clj diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index 80f1ac8c..c01ec66d 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -93,8 +93,10 @@ java.io.FilenameFilter java.io.FileNotFoundException java.io.InputStream + java.io.PipedInputStream java.io.IOException java.io.OutputStream + java.io.PipedOutputStream java.io.FileReader java.io.InputStreamReader java.io.PushbackInputStream diff --git a/test/babashka/java_io_piped_stream_test.clj b/test/babashka/java_io_piped_stream_test.clj new file mode 100644 index 00000000..8fc69d47 --- /dev/null +++ b/test/babashka/java_io_piped_stream_test.clj @@ -0,0 +1,12 @@ +(ns babashka.java-io-piped-stream-test + (:require [clojure.test :as test :refer [deftest is]]) + (:import [java.io PipedInputStream PipedOutputStream])) + +(deftest piped-stream-test + (let [pis (PipedInputStream.) + pos (PipedOutputStream.) + char-seq [66 97 98 97 115 104 107 97] + _ (.connect pis pos) + _ (doseq [c char-seq] + (.write pos c))] + (is (= "Babashka" (apply str (for [_ char-seq] (char (.read pis))))))))