aboutsummaryrefslogtreecommitdiff
path: root/tests/data/util.lisp
blob: a04b8be1e232cb4511504ebef0390c4976747f24 (plain)
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")