55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
;; Function To Be Tested: provide
|
|
;;
|
|
;; Source: Guy L Steele's CLTL Package System
|
|
;; Section: 11.8 Package System and Variables
|
|
;; Page: 188
|
|
;;
|
|
;; ReCreated By: Ron Fischer
|
|
;;
|
|
;; Creation Date: Oct 7, 1986
|
|
;;
|
|
;; Last Update: Mar 24, 1987
|
|
;;
|
|
;; Filed As: {ERIS}<LISPCORE>CML>TEST>11-8-provide.test
|
|
;;
|
|
;;
|
|
;; Syntax: (provide module-name)
|
|
;;
|
|
;; Function Description: This function is called to indicate that the specified
|
|
;; module is being loaded. Its name, which can be a string or symbol, is added
|
|
;; to the list of modules maintained in the special variable *modules*
|
|
;;
|
|
;;
|
|
;; Argument(s): module-name
|
|
;;
|
|
;; Returns: T
|
|
;;
|
|
;; Constraints/Limitations: Checks that members of *modules* are strings and that the
|
|
;; insertion of elements is case sensitive.
|
|
|
|
(do-test-group
|
|
(do-test "*modules*-exist?"
|
|
(boundp '*modules*)
|
|
)
|
|
(do-test "elements of *modules* are strings"
|
|
(let ((*modules* nil))
|
|
(provide 'foo)
|
|
(every #'stringp *modules*)
|
|
)
|
|
)
|
|
(do-test "provide-test"
|
|
(let ((*modules* nil))
|
|
(provide 'foo)
|
|
(provide "Bar")
|
|
(and
|
|
(member "FOO" *modules* :test #'string=)
|
|
(member "Bar" *modules* :test #'string=)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
STOP
|
|
|
|
|