1
0
mirror of synced 2026-05-03 22:59:35 +00:00
Files
Interlisp.medley/internal/test/LANGUAGE/AUTO/SIMPLE-SUPPLIED-P.TEST

25 lines
980 B
Plaintext

;;;; Simple test of supplied-p parameters
(do-test "supplied-p: funcitons"
(setf (symbol-function 'supplied-p-test)
'(lambda (&key (key 'init key-supplied))
(list key key-supplied)))
(and (equal (supplied-p-test) '(init nil))
(equal (supplied-p-test :key 'foo) '(foo t))
(compile 'supplied-p-test)
(equal (supplied-p-test) '(init nil))
(equal (supplied-p-test :key 'foo) '(foo t)))
)
(do-test "supplied-p: macros"
(defmacro supplied-p-test-m (&key (key 'init key-supplied))
`'(,key ,key-supplied))
(setf (symbol-function '|expand-SUPPLIED-P-TEST-M|)
(il:closure-function (symbol-function '|expand-SUPPLIED-P-TEST-M|)))
(and (equal (supplied-p-test-m) '(init nil))
(equal (supplied-p-test-m :key foo) '(foo t))
(compile '|expand-SUPPLIED-P-TEST-M|) ; This is implementation-dependent
(equal (supplied-p-test-m) '(init nil))
(equal (supplied-p-test-m :key foo) '(foo t)))
)