summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Svensson <raek@lysator.liu.se>2010-08-08 00:13:16 +0200
committerStuart Halloway <stu@thinkrelevance.com>2010-08-13 11:26:18 -0400
commitc897f1314c948e0bee82111ce6b422a258c56bfc (patch)
tree98d896d485a2648270743eec74f1beb215ffc6c1
parent0c0e9c5a0bd5ec511462553298e67b816a9284cc (diff)
Fix and tests for issue #404
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r--src/clj/clojure/java/io.clj2
-rw-r--r--test/clojure/test_clojure/java/io.clj17
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)))))