diff options
-rw-r--r-- | src/clj/clojure/java/shell.clj | 2 | ||||
-rw-r--r-- | test/clojure/test_clojure/java/shell.clj | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/clj/clojure/java/shell.clj b/src/clj/clojure/java/shell.clj index fa553671..004629df 100644 --- a/src/clj/clojure/java/shell.clj +++ b/src/clj/clojure/java/shell.clj @@ -44,7 +44,7 @@ collecting its stdout"} (defn- parse-args [args] - (let [default-encoding (.name (Charset/defaultCharset)) + (let [default-encoding "UTF-8" ;; see sh doc string default-opts {:out-enc default-encoding :in-enc default-encoding :dir *sh-dir* :env *sh-env*} [cmd opts] (split-with string? args)] [cmd (merge default-opts (apply hash-map opts))])) diff --git a/test/clojure/test_clojure/java/shell.clj b/test/clojure/test_clojure/java/shell.clj index d3db7db0..56e3ff04 100644 --- a/test/clojure/test_clojure/java/shell.clj +++ b/test/clojure/test_clojure/java/shell.clj @@ -12,13 +12,15 @@ (:import (java.io File))) (def platform-enc (.name (java.nio.charset.Charset/defaultCharset))) +(def default-enc "UTF-8") (deftest test-parse-args (are [x y] (= x y) - [[] {:in-enc platform-enc :out-enc platform-enc :dir nil :env nil}] (#'sh/parse-args []) - [["ls"] {:in-enc platform-enc :out-enc platform-enc :dir nil :env nil}] (#'sh/parse-args ["ls"]) - [["ls" "-l"] {:in-enc platform-enc :out-enc platform-enc :dir nil :env nil}] (#'sh/parse-args ["ls" "-l"]) - [["ls"] {:in-enc platform-enc :out-enc "ISO-8859-1" :dir nil :env nil}] (#'sh/parse-args ["ls" :out-enc "ISO-8859-1"]))) + [[] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args []) + [["ls"] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args ["ls"]) + [["ls" "-l"] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args ["ls" "-l"]) + [["ls"] {:in-enc default-enc :out-enc "ISO-8859-1" :dir nil :env nil}] (#'sh/parse-args ["ls" :out-enc "ISO-8859-1"]) + [[] {:in-enc platform-enc :out-enc platform-enc :dir nil :env nil}] (#'sh/parse-args [:in-enc platform-enc :out-enc platform-enc]))) (deftest test-with-sh-dir (are [x y] (= x y) |