diff options
Diffstat (limited to 'tests/data/util.lisp')
-rw-r--r-- | tests/data/util.lisp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/data/util.lisp b/tests/data/util.lisp new file mode 100644 index 0000000..a04b8be --- /dev/null +++ b/tests/data/util.lisp @@ -0,0 +1,67 @@ +(in-package :consfigurator/tests) +(named-readtables:in-readtable :consfigurator) +(in-consfig "consfigurator/tests") + +;; relative parts +(deftest literal-data-pathname.1 + (unix-namestring (literal-data-pathname "/home/user/data/" "foo" "bar")) + "/home/user/data/foo/bar") + +;; missing trailing / on part 1 +(deftest literal-data-pathname.2 + (unix-namestring (literal-data-pathname "/home/user/data" "foo" "bar")) + "/home/user/data/foo/bar") + +;; absolute part 2 +(deftest literal-data-pathname.3 + (unix-namestring (literal-data-pathname "/home/user/data/" "/foo" "bar")) + "/home/user/data/foo/bar") + +;; relative part 2, "_" +(deftest literal-data-pathname.4 + (unix-namestring (literal-data-pathname "/home/user/data/" "_foo" "bar")) + "/home/user/data/_foo/bar") + +;; absolute part 3 +(deftest literal-data-pathname.5 + (unix-namestring (literal-data-pathname "/home/user/" "/data" "/foo/bar")) + "/home/user/data/foo/bar") + +;; with type +(deftest literal-data-pathname.6 + (unix-namestring + (literal-data-pathname "/home/user/" "/data" "/foo/bar" :type "txt")) + "/home/user/data/foo/bar.txt") + +;; base-path is pathname + +(deftest literal-data-pathname.7 + (unix-namestring (literal-data-pathname #P"/home/user/data/" "foo" "bar")) + "/home/user/data/foo/bar") + +;; base-path not a directory +(deftest literal-data-pathname.8 + (handler-case + (literal-data-pathname #P"/home/user/data" "foo" "bar") + (simple-program-error (c) "fail")) + "fail") + +;; extra '/' at end +(deftest literal-data-pathname.9 + (unix-namestring (literal-data-pathname "/home/user/data//" "foo" "bar")) + "/home/user/data/foo/bar") + +;; extra '/' in middle +(deftest literal-data-pathname.10 + (unix-namestring (literal-data-pathname "/home/user//data/" "foo" "bar")) + "/home/user/data/foo/bar") + +;; extra '/' part 2 +(deftest literal-data-pathname.11 + (unix-namestring (literal-data-pathname "/home/user/data/" "foo//" "bar")) + "/home/user/data/foo/bar") + +;; extra '/' part 3 +(deftest literal-data-pathname.12 + (unix-namestring (literal-data-pathname "/home/user/data/" "foo" "//bar")) + "/home/user/data/foo/bar") |