aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib/test_java_utils.clj
diff options
context:
space:
mode:
authorStuart Halloway <stu@thinkrelevance.com>2009-04-05 14:21:52 +0000
committerStuart Halloway <stu@thinkrelevance.com>2009-04-05 14:21:52 +0000
commit57571874b35cd8df77ccdc96a4e158c74478280e (patch)
tree9eb3ee841ade023bd28862efa34d61f964e32b13 /src/clojure/contrib/test_contrib/test_java_utils.clj
parent09e6d962b3adccfc907589b0ba9ce12801de7bbf (diff)
java-utils: file
Diffstat (limited to 'src/clojure/contrib/test_contrib/test_java_utils.clj')
-rw-r--r--src/clojure/contrib/test_contrib/test_java_utils.clj37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/clojure/contrib/test_contrib/test_java_utils.clj b/src/clojure/contrib/test_contrib/test_java_utils.clj
new file mode 100644
index 00000000..9c536322
--- /dev/null
+++ b/src/clojure/contrib/test_contrib/test_java_utils.clj
@@ -0,0 +1,37 @@
+(ns clojure.contrib.test-contrib.test-java-utils
+ (:use clojure.contrib.test-is
+ clojure.contrib.java-utils)
+ (:import [java.io File]))
+
+(deftest test-relative-path-string
+ (testing "strings"
+ (is (= "foo" (relative-path-string "foo"))))
+ (testing "absolute path strings are forbidden"
+ (is (thrown? IllegalArgumentException (relative-path-string "/baz"))))
+ (testing "relative File paths"
+ (is (= "bar" (relative-path-string (File. "bar")))))
+ (testing "absolute File paths are forbidden"
+ (is (thrown? IllegalArgumentException (relative-path-string (File. "/quux")))))
+)
+
+(deftest test-as-file
+ (testing "strings"
+ (is (= (File. "foo") (as-file "foo"))))
+ (testing "Files"
+ (is (= (File. "bar") (as-file (File. "bar")))))
+)
+
+(deftest test-file
+ (testing "single argument"
+ (is (= (File. "foo") (file "foo"))))
+ (testing "two arguments"
+ (is (= (File. "foo/bar") (file "foo" "bar"))))
+ (testing "N arguments"
+ (is (= (File. "foo/bar/baz/quux") (file "foo" "bar" "baz" "quux"))))
+ (testing "no sneaking in absolute paths!"
+ (is (thrown? IllegalArgumentException (file "foo" "bar" "/boom" "baz" "quux"))))
+)
+
+
+
+