22 |
pos))) |
pos))) |
23 |
nil nil nil nil nil 0) |
nil nil nil nil nil 0) |
24 |
|
|
25 |
|
(deftest parse-namestring.2 |
26 |
|
(let ((vals (multiple-value-list (parse-namestring (make-array 0 :element-type 'base-char))))) |
27 |
|
(assert (= (length vals) 2)) |
28 |
|
(let ((pn (first vals)) |
29 |
|
(pos (second vals))) |
30 |
|
(values |
31 |
|
(pathname-directory pn) |
32 |
|
(pathname-device pn) |
33 |
|
(pathname-name pn) |
34 |
|
(pathname-type pn) |
35 |
|
(pathname-version pn) |
36 |
|
pos))) |
37 |
|
nil nil nil nil nil 0) |
38 |
|
|
39 |
|
(deftest parse-namestring.3 |
40 |
|
(let ((vals (multiple-value-list (parse-namestring (make-array 4 :element-type 'base-char |
41 |
|
:initial-element #\X |
42 |
|
:fill-pointer 0))))) |
43 |
|
(assert (= (length vals) 2)) |
44 |
|
(let ((pn (first vals)) |
45 |
|
(pos (second vals))) |
46 |
|
(values |
47 |
|
(pathname-directory pn) |
48 |
|
(pathname-device pn) |
49 |
|
(pathname-name pn) |
50 |
|
(pathname-type pn) |
51 |
|
(pathname-version pn) |
52 |
|
pos))) |
53 |
|
nil nil nil nil nil 0) |
54 |
|
|
55 |
|
(deftest parse-namestring.4 |
56 |
|
(loop for etype in '(standard-char base-char character) |
57 |
|
for s0 = (make-array 4 :element-type etype :initial-element #\X) |
58 |
|
for s = (make-array 0 :element-type etype :displaced-to s0 |
59 |
|
:displaced-index-offset 1) |
60 |
|
for vals = (multiple-value-list (parse-namestring s)) |
61 |
|
for pn = (first vals) |
62 |
|
for pos = (second vals) |
63 |
|
do (assert (= (length vals) 2)) |
64 |
|
nconc |
65 |
|
(let ((result (list (pathname-directory pn) |
66 |
|
(pathname-device pn) |
67 |
|
(pathname-name pn) |
68 |
|
(pathname-type pn) |
69 |
|
(pathname-version pn) |
70 |
|
pos))) |
71 |
|
(unless (equal result '(nil nil nil nil nil 0)) |
72 |
|
(list (list etype result))))) |
73 |
|
nil) |
74 |
|
|
75 |
;;; Error tests |
;;; Error tests |
76 |
|
|
77 |
(deftest parse-namestring.error.1 |
(deftest parse-namestring.error.1 |