summary refs log tree commit diff
path: root/tests/utils.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-06-09 15:25:51 +0200
committerLudovic Courtès <ludo@gnu.org>2012-06-09 15:25:51 +0200
commitc8369caccef256f9e7bfa02ac2cc7fcbd72db04f (patch)
treee1b4c2db6c4d64824847d83d4c5bee7e00bb1334 /tests/utils.scm
parent4255d4e3c5c17b3f170f287388710ca1dc5cb711 (diff)
downloadguix-c8369caccef256f9e7bfa02ac2cc7fcbd72db04f.tar.gz
Add `base32-string->bytevector' and `nix-base32-string->bytevector'.
* guix/utils.scm (bytevector-quintet-set!,
  bytevector-quintet-set-right!, base32-string-unfold,
  base32-string-unfold-right, make-base32-string->bytevector,
  base32-string->bytevector, nix-base32-string->bytevector): New
  procedures.

* tests/utils.scm ("base32-string->bytevector",
  "nix-base32-string->bytevector"): New tests.
Diffstat (limited to 'tests/utils.scm')
-rw-r--r--tests/utils.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/utils.scm b/tests/utils.scm
index eade84b5d4..edea11db72 100644
--- a/tests/utils.scm
+++ b/tests/utils.scm
@@ -46,6 +46,22 @@
           "mzxw6ytb"
           "mzxw6ytboi")))
 
+(test-assert "base32-string->bytevector"
+  (every (lambda (bv)
+           (equal? (base32-string->bytevector
+                    (bytevector->base32-string bv))
+                   bv))
+         ;; Examples from RFC 4648.
+         (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
+
+(test-assert "nix-base32-string->bytevector"
+  (every (lambda (bv)
+           (equal? (nix-base32-string->bytevector
+                    (bytevector->nix-base32-string bv))
+                   bv))
+         ;; Examples from RFC 4648.
+         (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
+
 ;; The following tests requires `nix-hash' in $PATH.
 (test-skip (if (false-if-exception (system* "nix-hash" "--version"))
                0