tvl-depot/third_party/lisp/quasiquote_2/tests-macro.lisp

21 lines
No EOL
559 B
Common Lisp

(in-package #:quasiquote-2.0-tests)
(in-suite quasiquote-2.0)
(enable-quasiquote-2.0)
(defmacro define-sample-macro (name args &body body)
`(defmacro ,name ,args
`(sample-thing-to-macroexpand-to
,,@body)))
(define-sample-macro sample-macro-1 (x y)
,x ,y)
(define-sample-macro sample-macro-2 (&body body)
,@body)
(test macro-defined-macroexpansions
(is (equal '(sample-thing-to-macroexpand-to a b) (macroexpand-1 '(sample-macro-1 a b))))
(is (equal '(sample-thing-to-macroexpand-to a b c) (macroexpand-1 '(sample-macro-2 a b c)))))