0.7.3.6:
[sbcl.git] / tests / pathnames.impure.lisp
index 6682f8c..c7ee31b 100644 (file)
@@ -79,7 +79,6 @@
 ;;; FIXME: currently SBCL throws NAMESTRING-PARSE-ERROR: should this be
 ;;; a TYPE-ERROR?
 
-;; error: directory-component not valid
 (assert (not (ignore-errors
                (make-pathname :host "FOO" :directory "!bla" :name "bar"))))
 
 
 ;;; turning one logical pathname into another:
 (setf (logical-pathname-translations "foo")
-       '(("tohome;*.*.*" "home:*.*.*")))
-(assert (equal (namestring (translate-logical-pathname "foo:tohome;x.y"))
-               "home:x.y"))    
+       '(("todemo;*.*.*" "demo0:*.*.*")))
+(assert (equal (namestring (translate-logical-pathname "foo:todemo;x.y"))
+               (namestring (translate-logical-pathname "demo0:x.y"))))
 
 ;;; ANSI, in its wisdom, specifies that it's an error (specifically a
 ;;; TYPE-ERROR) to query the system about the translations of a string
 (let ((cond (grab-condition (logical-pathname-translations "unregistered-host"))))
   (assert (typep cond 'type-error)))
 
+(assert (not (string-equal (host-namestring (parse-namestring "OTHER-HOST:ILLEGAL/LPN")) "OTHER-HOST")))
+(assert (string-equal (pathname-name (parse-namestring "OTHER-HOST:ILLEGAL/LPN")) "LPN"))
+
 ;;; FIXME: A comment on this section up to sbcl-0.6.11.30 or so said
 ;;;   examples from CLHS: Section 19.4, LOGICAL-PATHNAME-TRANSLATIONS
 ;;;   (sometimes converted to the Un*x way of things)
 (assert (equal (namestring (translate-logical-pathname
                             "test0:foo;bar;baz;mum.quux.3"))
                "/library/foo/foo/bar/baz/mum.quux"))
-
+\f
 ;;;; MERGE-PATHNAME tests
 ;;;;
 ;;;; There are some things we don't bother testing, just because they're
 ;;;; other implementations, they depend quite heavily on the rules for
 ;;;; namestring parsing, which are implementation-specific. So, success
 ;;;; or failure in these tests doesn't tell you anything about
-;;;; ansi-compliance unless your PARSE-NAMESTRING works like ours.
+;;;; ANSI-compliance unless your PARSE-NAMESTRING works like ours.
 
 (setf (logical-pathname-translations "scratch")
       '(("**;*.*.*" "/usr/local/doc/**/*")))
         ;; === logical pathnames ===
         ;; recognizes a logical pathname namestring when
         ;; default-pathname is a logical pathname
-       ;; FIXME: 0.6.12.20 fails this one.
+       ;; FIXME: 0.6.12.23 fails this one.
         #+nil (#P"scratch:foo;name1" #p"name1" #p"scratch:foo;")
         ;; or when the namestring begins with the name of a defined
         ;; logical host followed by a colon [I assume that refers to pathname
         (#p"SCRATCH:ABSOLUTE;PATH;NAME.TYPE"
          #p"scratch:absolute;path;name" #p"/dir/default-name.type")
 
-        ;; TODO: test version handling in LPNs
+        ;; FIXME: test version handling in LPNs
         )
       do (assert (string= (namestring (apply #'merge-pathnames params))
                           (namestring expected-result))))