diff --git a/ansi-tests/load-eval-and-compile.lsp b/ansi-tests/load-eval-and-compile.lsp index 422a8d978fdfd6f136c79210af0877da0b19f12c..ffdf524e7f0cc393f1facea2feef0c3d9ee78f49 100644 --- a/ansi-tests/load-eval-and-compile.lsp +++ b/ansi-tests/load-eval-and-compile.lsp @@ -19,3 +19,5 @@ (load "dynamic-extent.lsp") (load "optimize.lsp") (load "special.lsp") +(load "macroexpand.lsp") +(load "macroexpand-1.lsp") diff --git a/ansi-tests/macroexpand-1.lsp b/ansi-tests/macroexpand-1.lsp new file mode 100644 index 0000000000000000000000000000000000000000..0b4251a29a9800cc5d2ec92c2cceb922bdf9d705 --- /dev/null +++ b/ansi-tests/macroexpand-1.lsp @@ -0,0 +1,58 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Sat May 28 13:47:32 2005 +;;;; Contains: Tests of MACROEXPAND-1 + +(in-package :cl-test) + +(deftest macroexpand-1.error.1 + (signals-error (macroexpand-1) program-error) + t) + +(deftest macroexpand-1.error.2 + (signals-error (macroexpand-1 'x nil nil) program-error) + t) + +;;; Non-error tests + +(deftest macroexpand-1.1 + (loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand-1 x) x)) + collect (list x (macroexpand-1 x))) + nil) + +(deftest macroexpand-1.2 + (loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand-1 x nil) x)) + collect (list x (macroexpand-1 x nil))) + nil) + +(deftest macroexpand-1.3 + (macrolet ((%m (&environment env) + `(quote + ,(loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand-1 x env) x)) + collect (list x (macroexpand-1 x env)))))) + (%m)) + nil) + +(deftest macroexpand-1.4 + (macrolet ((%m () ''foo)) + (macrolet ((%m2 (&environment env) + (macroexpand-1 '(%m) env))) + (%m2))) + foo) + + + + + + + + diff --git a/ansi-tests/macroexpand.lsp b/ansi-tests/macroexpand.lsp new file mode 100644 index 0000000000000000000000000000000000000000..956faec8a10713d3f91282239716b62d44d0aff2 --- /dev/null +++ b/ansi-tests/macroexpand.lsp @@ -0,0 +1,57 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Sat May 28 13:43:00 2005 +;;;; Contains: Tests of MACROEXPAND + +(in-package :cl-test) + +(deftest macroexpand.error.1 + (signals-error (macroexpand) program-error) + t) + +(deftest macroexpand.error.2 + (signals-error (macroexpand 'x nil nil) program-error) + t) + +;;; Non-error tests + +(deftest macroexpand.1 + (loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand x) x)) + collect (list x (macroexpand x))) + nil) + +(deftest macroexpand.2 + (loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand x nil) x)) + collect (list x (macroexpand x nil))) + nil) + +(deftest macroexpand.3 + (macrolet ((%m (&environment env) + `(quote + ,(loop for x in *universe* + unless (or (symbolp x) + (consp x) + (eql (macroexpand x env) x)) + collect (list x (macroexpand x env)))))) + (%m)) + nil) + +(deftest macroexpand.4 + (macrolet ((%m () ''foo)) + (macrolet ((%m2 (&environment env) + (macroexpand '(%m) env))) + (%m2))) + foo) + + + + + + +