diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/util.lisp | 67 | ||||
-rw-r--r-- | tests/package.lisp | 2 |
2 files changed, 68 insertions, 1 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") diff --git a/tests/package.lisp b/tests/package.lisp index 286243c..0a303f0 100644 --- a/tests/package.lisp +++ b/tests/package.lisp @@ -1,5 +1,5 @@ (in-package :cl-user) (defpackage :consfigurator/tests - (:use #:cl #:consfigurator #+sbcl :sb-rt #-sbcl :rtest) + (:use #:cl #:consfigurator #:consfigurator.data.util #+sbcl :sb-rt #-sbcl :rtest) (:local-nicknames (#:file #:consfigurator.property.file))) |