diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/016/enum.tl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/016/enum.tl b/tests/016/enum.tl new file mode 100644 index 00000000..b8817f4b --- /dev/null +++ b/tests/016/enum.tl @@ -0,0 +1,23 @@ +(load "../common.tl") + +(mtest + (macroexpand '(defenum)) (progn) + (macroexpand '(defenum nil)) :error + (macroexpand '(defenum t)) :error + (macroexpand '(defenum :key)) :error + (macroexpand '(defenum (a "x"))) :error + (macroexpand '(defenum a (b "x"))) :error + (macroexpand '(defenum a)) (progn (defsymacro a 0)) + (macroexpand '(defenum a b)) (progn (defsymacro a 0) (defsymacro b 1)) + (macroexpand '(defenum a (b 2))) (progn (defsymacro a 0) (defsymacro b 2)) + (macroexpand '(defenum (a 5) b)) (progn (defsymacro a 5) (defsymacro b 6)) + (macroexpand '(defenum (a 5) (b 7))) (progn (defsymacro a 5) (defsymacro b 7)) + (macroexpand '(defenum a (b #\b))) (progn (defsymacro a 0) (defsymacro b #\b)) + (macroexpand '(defenum (a #\a) b)) (progn (defsymacro a #\a) (defsymacro b #\b)) + (macroexpand '(defenum (a #\a) (b #\x))) (progn (defsymacro a #\a) (defsymacro b #\x)) + (macroexpand '(defenum a b c)) (progn (defsymacro a 0) (defsymacro b 1) (defsymacro c 2))) + +(mtest + (enumlet (a b c) (list a b c)) (0 1 2) + (enumlet ((a 10) b c) (list a b c)) (10 11 12) + (enumlet ((a #\a) b c) (list a b c)) (#\a #\b #\c)) |