X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffilesys.pure.lisp;h=0dc72a751f128c29b3d00713cfc0106a6176406c;hb=cf49f2d086069a9c1b57f501df9a6a0bd3a34c3c;hp=f6ac941d9714948691cfd8d3b77c3a4ea165f42c;hpb=a647f35a48924c9bc1914e1286418309fc69704e;p=sbcl.git diff --git a/tests/filesys.pure.lisp b/tests/filesys.pure.lisp index f6ac941..0dc72a7 100644 --- a/tests/filesys.pure.lisp +++ b/tests/filesys.pure.lisp @@ -93,6 +93,15 @@ (assert (equal "C:\\FOO\\BAR" (native-namestring "C:\\FOO\\BAR"))) (assert (equal "C:\\FOO\\BAR" (native-namestring "C:\\FOO\\BAR\\" :as-file t)))) +(with-test (:name (:parse-native-pathname :as-directory :junk-allowed)) + (assert + (equal + (parse-native-namestring "foo.lisp" nil *default-pathname-defaults* + :as-directory t) + (parse-native-namestring "foo.lisp" nil *default-pathname-defaults* + :as-directory t + :junk-allowed t)))) + ;;; Test for NATIVE-PATHNAME / NATIVE-NAMESTRING stuff ;;; ;;; given only safe characters in the namestring, NATIVE-PATHNAME will @@ -182,3 +191,51 @@ (directory (make-pathname :name :unspecific :type :unspecific))))) + +;;; Generated with +;;; (loop for exist in '(nil t) +;;; append +;;; (loop for (if-exists if-does-not-exist) in '((nil :error) +;;; (:error nil) +;;; (nil nil) +;;; (:error :error)) +;;; collect (list 'do-open exist if-exists if-does-not-exist))) +(with-test (:name :open-never-openning) + (flet ((do-open (existing if-exists if-does-not-exist + &optional (direction :output)) + (open (if existing + #.(or *compile-file-truename* *load-truename*) + "a-really-non-existing-file") + :direction direction + :if-exists if-exists :if-does-not-exist if-does-not-exist))) + (assert (raises-error? + (do-open nil nil :error))) + (assert (not + (do-open nil :error nil))) + (assert (not + (do-open t nil :error))) + (assert (raises-error? + (do-open t :error nil))) + (assert (not + (do-open nil nil nil))) + (assert (raises-error? + (do-open nil :error :error))) + (assert (not + (do-open t nil nil))) + (assert (raises-error? (do-open t :error :error))) + + (assert (raises-error? + (do-open nil nil :error :io))) + (assert (not + (do-open nil :error nil :io))) + (assert (not + (do-open t nil :error :io))) + (assert (raises-error? + (do-open t :error nil :io))) + (assert (not + (do-open nil nil nil :io))) + (assert (raises-error? + (do-open nil :error :error :io))) + (assert (not + (do-open t nil nil :io))) + (assert (raises-error? (do-open t :error :error :io)))))