X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fpathnames.impure.lisp;h=6993c55f1c9620e7052b8257dfc8c172b957f9cd;hb=94b8f6d07445666017dfeac29bbbe0863a3c2de2;hp=07f4f317b80a4f0bb6cab330718b0c79a174f468;hpb=0e5c7ae9b0e73edb5efcb9d334760ff2171d17ab;p=sbcl.git diff --git a/tests/pathnames.impure.lisp b/tests/pathnames.impure.lisp index 07f4f31..6993c55 100644 --- a/tests/pathnames.impure.lisp +++ b/tests/pathnames.impure.lisp @@ -356,6 +356,36 @@ (list* 'write-to-string pathname vars) expected actual)) + +;;; we got (truename "/") wrong for about 6 months. Check that it's +;;; still right. +(let ((pathname (truename "/"))) + (assert (equalp pathname #p"/")) + (assert (equal (pathname-directory pathname) '(:absolute)))) + +;;; we failed to unparse logical pathnames with :NAME :WILD :TYPE NIL. +;;; (Reported by Pascal Bourguignon. +(let ((pathname (make-pathname :host "SYS" :directory '(:absolute :wild-inferiors) + :name :wild :type nil))) + (assert (string= (namestring pathname) "SYS:**;*")) + (assert (string= (write-to-string pathname :readably t) "#P\"SYS:**;*\""))) + +;;; reported by James Y Knight on sbcl-devel 2006-05-17 +(let ((p1 (make-pathname :directory '(:relative "bar"))) + (p2 (make-pathname :directory '(:relative :back "foo")))) + (assert (equal (merge-pathnames p1 p2) + (make-pathname :directory '(:relative :back "foo" "bar"))))) +;;; construct native namestrings even if the directory is empty (means +;;; that same as if (:relative)) +(assert (equal (sb-ext:native-namestring (make-pathname :directory '(:relative) + :name "foo" + :type "txt")) + (sb-ext:native-namestring (let ((p (make-pathname :directory nil + :name "foo" + :type "txt"))) + (assert (not (pathname-directory p))) + p)))) + + ;;;; success -(quit :unix-status 104)