From 4cba75d6d352a8a7ee44290150d6f36b7560cc0c Mon Sep 17 00:00:00 2001
From: pfdietz <pfdietz@localhost>
Date: Sat, 28 May 2005 18:48:54 +0000
Subject: [PATCH] Add explicit tests for macroexpand, macroexpand-1

---
 ansi-tests/load-eval-and-compile.lsp |  2 +
 ansi-tests/macroexpand-1.lsp         | 58 ++++++++++++++++++++++++++++
 ansi-tests/macroexpand.lsp           | 57 +++++++++++++++++++++++++++
 3 files changed, 117 insertions(+)
 create mode 100644 ansi-tests/macroexpand-1.lsp
 create mode 100644 ansi-tests/macroexpand.lsp

diff --git a/ansi-tests/load-eval-and-compile.lsp b/ansi-tests/load-eval-and-compile.lsp
index 422a8d97..ffdf524e 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 00000000..0b4251a2
--- /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 00000000..956faec8
--- /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)
+
+
+
+
+
+
+  
-- 
GitLab