aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib/test_java_utils.clj
diff options
context:
space:
mode:
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"))))
+)
+
+
+
+