summary refs log tree commit diff
path: root/tests/gexp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/gexp.scm')
-rw-r--r--tests/gexp.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/gexp.scm b/tests/gexp.scm
index b0ff1019e6..6d4885e44e 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -29,6 +29,7 @@
   #:use-module (srfi srfi-64)
   #:use-module (rnrs io ports)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 regex)
   #:use-module (ice-9 popen))
 
 ;; Test the (guix gexp) module.
@@ -247,6 +248,23 @@
       (return (and (zero? (close-pipe pipe))
                    (= (expt n 2) (string->number str)))))))
 
+(test-assert "printer"
+  (string-match "^#<gexp \\(string-append .*#<package coreutils.*\
+ \"/bin/uname\"\\) [[:xdigit:]]+>$"
+                (with-output-to-string
+                  (lambda ()
+                    (write
+                     (gexp (string-append (ungexp coreutils)
+                                          "/bin/uname")))))))
+
+(test-assert "printer vs. ungexp-splicing"
+  (string-match "^#<gexp .* [[:xdigit:]]+>$"
+                (with-output-to-string
+                  (lambda ()
+                    ;; #~(begin #$@#~())
+                    (write
+                     (gexp (begin (ungexp-splicing (gexp ())))))))))
+
 (test-equal "sugar"
   '(gexp (foo (ungexp bar) (ungexp baz "out")
               (ungexp (chbouib 42))