Add unit tests for lib.macros.->>
This commit is contained in:
@@ -27,3 +27,20 @@
|
||||
(is eq 2 (--> x 1 (1+ x)))
|
||||
(is eq 2 (--> x 1 1+))
|
||||
(is string= "World!" (--> _ "Hello" (format nil "~a World!" _) (subseq _ 6))))
|
||||
|
||||
(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 `(->> ,c (,a ,b))))
|
||||
(is equal `(,a ,b (,c ,d)) (macroexpand `(->> (,c ,d) (,a ,b))))
|
||||
(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)))
|
||||
|
||||
Reference in New Issue
Block a user