Skip to content
Snippets Groups Projects
Forked from ansi-test / ansi-test
234 commits behind the upstream repository.
apropos-list.lsp 2.81 KiB
;-*- Mode:     Lisp -*-
;;;; Author:   Paul Dietz
;;;; Created:  Tue Dec 14 06:21:45 2004
;;;; Contains: Tests of APROPOS-LIST

(in-package :cl-test)

(deftest apropos-list.1
  (let ((pkg "CL-TEST-APROPOS-LIST-PACKAGE"))
    (safely-delete-package pkg)
    (unwind-protect
        (progn
          (eval `(defpackage ,pkg (:use)))
          (let* ((sym (intern "FOO" pkg)))
            (loop for p in (list pkg (find-package pkg) (make-symbol pkg))
                  nconc
                  (loop for string-designator in
                        '("F" "O" #\F #\O "" "FOO" "FO"
                          "OO" :|F| :|FO| :|FOO| :|O| :|OO|)
                        for result = (apropos-list string-designator p)
                        unless (equal result (list sym))
                        collect (list string-designator result)))))
      (safely-delete-package pkg)))
  nil)

(deftest apropos-list.2
  (let ((pkg #\A))
    (safely-delete-package pkg)
    (unwind-protect
        (progn
          (eval `(defpackage ,pkg (:use)))
          (let* ((sym (intern "FOO" pkg)))
            (loop for string-designator in
                  '("F" "O" #\F #\O "" "FOO" "FO"
                    "OO" :|F| :|FO| :|FOO| :|O| :|OO|)
                  for result = (apropos-list string-designator pkg)
                  unless (equal result (list sym))
                  collect (list string-designator result))))
      (safely-delete-package pkg)))
  nil)

(deftest apropos-list.3
  (let ((pkg "CL-TEST-APROPOS-LIST-PACKAGE"))
    (safely-delete-package pkg)
    (unwind-protect
        (progn
          (eval `(defpackage ,pkg (:use)))
          (intern "FOO" pkg)
          (apropos-list "X" pkg))
      (safely-delete-package pkg)))
  nil)

(deftest apropos-list.4
  (let ((sym :|X|)
        (symbols (apropos-list "X")))
    (notnot (member sym symbols)))
  t)

(deftest apropos-list.5
  (let ((sym :|X|)
        (symbols (apropos-list '#:|X|)))
    (notnot (member sym symbols)))
  t)

(deftest apropos-list.6
  (let ((sym :|X|)
        (symbols (apropos-list #\X)))
    (notnot (member sym symbols)))
  t)