aboutsummaryrefslogtreecommitdiff
path: root/tests/macros.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/macros.lisp')
-rw-r--r--tests/macros.lisp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/macros.lisp b/tests/macros.lisp
index ef9f8e5..5e0a1fb 100644
--- a/tests/macros.lisp
+++ b/tests/macros.lisp
@@ -44,3 +44,21 @@
(is equal `(,a (,b (,c ,d))) (macroexpand `(->> ,d (,c) (,b) (,a))))
(is equal `(,a (,b (,c ,d))) (macroexpand `(->> ,d ,c ,b ,a))))
(is string= "Hello, World!" (->> "world!" (format nil "hello, ~a") string-capitalize)))
+
+(define-test (macro-test "-<>")
+ (true (null (-<>)))
+ (let ((a (gensym))
+ (b (gensym))
+ (c (gensym))
+ (d (gensym)))
+ (is eq a (-<> a))
+ (is equal `(,a ,b) (macroexpand `(-<> ,b (,a))))
+ (is equal `(,a ,b) (macroexpand `(-<> ,b ,a)))
+ (is equal `(,a (,b ,c)) (macroexpand `(-<> ,c (,b) (,a))))
+ (is equal `(,a (,b ,c)) (macroexpand `(-<> ,c ,b ,a)))
+ (is equal `(,a ,b ,c) (macroexpand `(-<> ,b (,a ,c))))
+ (is equal `(,a (,b (,c ,d))) (macroexpand `(-<> ,d (,c) (,b) (,a))))
+ (is equal `(,a (,b (,c ,d))) (macroexpand `(-<> ,d ,c ,b ,a)))
+ (is equal `(,a (,b ,c) ,d) (macroexpand `(-<> ,c (,b) (,a ,d)))))
+ (is equal 69 (-<> 489 (- 420)))
+ (is string= "HELLO" (-<> "Hello World!" (subseq 0 5) string-upcase)))