21 lines
		
	
	
		
			No EOL
		
	
	
		
			559 B
		
	
	
	
		
			Common 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))))) |