Mercurial > lasercutter
diff src/clojure/test_clojure/java/shell.clj @ 10:ef7dbbd6452c
added clojure source goodness
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 21 Aug 2010 06:25:44 -0400 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/clojure/test_clojure/java/shell.clj Sat Aug 21 06:25:44 2010 -0400 1.3 @@ -0,0 +1,41 @@ 1.4 +; Copyright (c) Rich Hickey. All rights reserved. 1.5 +; The use and distribution terms for this software are covered by the 1.6 +; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 1.7 +; which can be found in the file epl-v10.html at the root of this distribution. 1.8 +; By using this software in any fashion, you are agreeing to be bound by 1.9 +; the terms of this license. 1.10 +; You must not remove this notice, or any other, from this software. 1.11 + 1.12 +(ns clojure.test-clojure.java.shell 1.13 + (:use clojure.test 1.14 + [clojure.java.shell :as sh]) 1.15 + (:import (java.io File))) 1.16 + 1.17 +(def platform-enc (.name (java.nio.charset.Charset/defaultCharset))) 1.18 +(def default-enc "UTF-8") 1.19 + 1.20 +(deftest test-parse-args 1.21 + (are [x y] (= x y) 1.22 + [[] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args []) 1.23 + [["ls"] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args ["ls"]) 1.24 + [["ls" "-l"] {:in-enc default-enc :out-enc default-enc :dir nil :env nil}] (#'sh/parse-args ["ls" "-l"]) 1.25 + [["ls"] {:in-enc default-enc :out-enc "ISO-8859-1" :dir nil :env nil}] (#'sh/parse-args ["ls" :out-enc "ISO-8859-1"]) 1.26 + [[] {:in-enc platform-enc :out-enc platform-enc :dir nil :env nil}] (#'sh/parse-args [:in-enc platform-enc :out-enc platform-enc]))) 1.27 + 1.28 +(deftest test-with-sh-dir 1.29 + (are [x y] (= x y) 1.30 + nil *sh-dir* 1.31 + "foo" (with-sh-dir "foo" *sh-dir*))) 1.32 + 1.33 +(deftest test-with-sh-env 1.34 + (are [x y] (= x y) 1.35 + nil *sh-env* 1.36 + {:KEY "VAL"} (with-sh-env {:KEY "VAL"} *sh-env*))) 1.37 + 1.38 +(deftest test-as-env-strings 1.39 + (are [x y] (= x y) 1.40 + nil (#'sh/as-env-strings nil) 1.41 + ["FOO=BAR"] (seq (#'sh/as-env-strings {"FOO" "BAR"})) 1.42 + ["FOO_SYMBOL=BAR"] (seq (#'sh/as-env-strings {'FOO_SYMBOL "BAR"})) 1.43 + ["FOO_KEYWORD=BAR"] (seq (#'sh/as-env-strings {:FOO_KEYWORD "BAR"})))) 1.44 +