diff options
-rw-r--r-- | src/clj/clojure/java/io.clj | 2 | ||||
-rw-r--r-- | test/clojure/test_clojure/java/io.clj | 17 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/clj/clojure/java/io.clj b/src/clj/clojure/java/io.clj index 7af37ccd..f5c3d010 100644 --- a/src/clj/clojure/java/io.clj +++ b/src/clj/clojure/java/io.clj @@ -260,7 +260,7 @@ IOFactory (assoc default-streams-impl :make-input-stream (fn [^Socket x opts] (.getInputStream x)) - :output-stream (fn [^Socket x opts] (output-stream (.getOutputStream x) opts)))) + :make-output-stream (fn [^Socket x opts] (.getOutputStream x)))) (extend byte-array-type IOFactory diff --git a/test/clojure/test_clojure/java/io.clj b/test/clojure/test_clojure/java/io.clj index 05055c3f..eaaf7891 100644 --- a/test/clojure/test_clojure/java/io.clj +++ b/test/clojure/test_clojure/java/io.clj @@ -8,10 +8,11 @@ (ns clojure.test-clojure.java.io (:use clojure.test clojure.java.io) - (:import (java.io File FileInputStream BufferedInputStream - FileOutputStream OutputStreamWriter InputStreamReader + (:import (java.io File BufferedInputStream + FileInputStream InputStreamReader InputStream + FileOutputStream OutputStreamWriter OutputStream ByteArrayInputStream ByteArrayOutputStream) - (java.net URL URI))) + (java.net URL URI Socket ServerSocket))) (defn temp-file [prefix suffix] @@ -193,3 +194,13 @@ (is (not (.isDirectory (file tmp "test-make-parents" "child" "grandchild")))) (delete-file (file tmp "test-make-parents" "child")) (delete-file (file tmp "test-make-parents")))) + +(deftest test-socket-iofactory + (let [port 65321 + server-socket (ServerSocket. port) + client-socket (Socket. "localhost" port)] + (try + (is (instance? InputStream (input-stream client-socket))) + (is (instance? OutputStream (output-stream client-socket))) + (finally (.close server-socket) + (.close client-socket))))) |