speedo, w32: Add w32-wixlib target for MSI package
[gnupg.git] / tests / gpgscm / lib.scm
index ed3d572..258f692 100644 (file)
 (assert #t)
 (assert (not #f))
 
+;; Trace displays and returns the given value.  A debugging aid.
+(define (trace x)
+  (display x)
+  (newline)
+  x)
+
+;; Stringification.
+(define (stringify expression)
+  (let ((p (open-output-string)))
+    (write expression p)
+    (get-output-string p)))
+
 (define (filter pred lst)
   (cond ((null? lst) '())
         ((pred (car lst))
 (assert (string-contains? "Hallo" "llo"))
 (assert (not (string-contains? "Hallo" "olla")))
 
+;; Translate characters.
+(define (string-translate s from to)
+  (list->string (map (lambda (c)
+                      (let ((i (string-index from c)))
+                        (if i (string-ref to i) c))) (string->list s))))
+(assert (equal? (string-translate "foo/bar" "/" ".") "foo.bar"))
+
 ;; Read a word from port P.
 (define (read-word . p)
   (list->string