Newer
Older
;;; -*- Lisp -*-
(load "script-support.lisp")
(in-package :asdf)
(use-package :asdf-test)
(assert
(every #'directory-pathname-p
(list
Francois-Rene Rideau
committed
(make-pathname* :name nil :type "" :directory '(:absolute "tmp"))
(make-pathname* :name "" :directory '(:absolute "tmp"))
(make-pathname* :type "" :directory '(:absolute "tmp"))
;; CLHS 19.2.2.2.3 says we can't portably specify :unspecific here,
;; and some implementations will enforce it.
(make-pathname* :type *unspecific-pathname-type* :directory '(:absolute "tmp"))
(make-pathname* :name *unspecific-pathname-type* :directory '(:absolute "tmp"))
(make-pathname* :name *unspecific-pathname-type* :directory '(:absolute "tmp")))))
(assert
(every (complement #'directory-pathname-p)
(list
Francois-Rene Rideau
committed
(make-pathname* :name "foo" :type nil :directory '(:absolute "tmp"))
(make-pathname* :name nil :type "bar" :directory '(:absolute "tmp")))))
;; These are funky and non portable, omit from tests:
Francois-Rene Rideau
committed
;; (make-pathname* :name "." :type nil :directory '(:absolute "tmp"))
;; (make-pathname* :name "." :type "" :directory '(:absolute "tmp"))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "" :want-directory t))
'(:relative nil nil nil)))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "" :want-directory nil))
'(:relative nil nil nil)))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "/" :want-directory t))
'(:absolute nil nil nil)))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "/" :want-directory nil))
'(:absolute nil nil nil)))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "/aa/ba" :want-directory t))
'(:absolute ("aa" "ba") nil nil)))
Francois-Rene Rideau
committed
(assert (equal (multiple-value-list (split-unix-namestring-directory-components "/aa/ba" :want-directory nil))
'(:absolute ("aa") "ba" nil)))
Francois-Rene Rideau
committed
(assert
(version-satisfies (asdf-version) (asdf-version)))
Francois-Rene Rideau
committed
(assert
(version-satisfies (asdf-version) "2.000"))
Francois-Rene Rideau
committed
(assert
(not (version-satisfies (asdf-version) "666")))
(assert-equal
(mapcar 'namestring (split-native-pathnames-string "foo:bar"))
'("foo" "bar"))
(assert-equal
(mapcar 'namestring (split-native-pathnames-string "foo:bar" :want-directory t))
'("foo/" "bar/"))
(assert-equal
(mapcar 'namestring (split-native-pathnames-string "/foo:/bar" :want-absolute t))
'("/foo" "/bar"))
(assert-equal
(mapcar 'namestring (split-native-pathnames-string "/foo:/bar" :want-absolute t :want-directory t))
'("/foo/" "/bar/"))
(assert-equal
(mapcar 'location-function-p
'((:function f)
(:function (lambda (path absolute-source)
(declare (ignore absolute-source))
path))
(function previous-isnt-keyword)
(:function f too many arguments)
(:function (:lambda isnt lambda))
(:function (lambda (too many args) blah))))
'(t t nil nil nil nil)))