1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 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")
|