psyntax: More tests.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 30 Oct 2016 22:32:33 +0000 (23:32 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 12 Dec 2016 19:33:49 +0000 (20:33 +0100)
* tests/psyntax.test: Add tests.

tests/psyntax.test

index 49711f471ffcd1315c4928b762c9dcfa12fd1830..3653995eb15f82e7a570191124553b187184c88d 100755 (executable)
@@ -140,4 +140,24 @@ exit $?
        (sre:when #t "if not now, then?")))
    "if not now, then?"))
 
+(pass-if-equal "syntax-rules plus"
+    (+ 1 2 3)
+  (let ()
+    (define-syntax plus
+      (syntax-rules ()
+        ((plus x ...) (+ x ...))))
+    (plus 1 2 3)))
+
+(when guile?
+  (pass-if-equal "macro with quasisyntax"
+      '("foo" "foo")
+    (let ()
+      (define-syntax string-let
+        (lambda (stx)
+          (syntax-case stx ()
+            ((_ id body ...)
+             #`(let ((id #,(symbol->string (syntax->datum #'id))))
+                 body ...)))))
+      (string-let foo (list foo foo)))))
+
 (result 'report)