summaryrefslogtreecommitdiff
path: root/tests/base32.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-31 21:59:43 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-31 22:39:48 +0200
commit1a706ff5cf12202c80bcaafb77a3cab43bac6f4f (patch)
treee263440fe6e4b985255b4bde7be5fbb0f1775526 /tests/base32.scm
parent23185ceadcb522c702cde28be2b5a7379d4ee9f1 (diff)
downloadpatches-1a706ff5cf12202c80bcaafb77a3cab43bac6f4f.tar
patches-1a706ff5cf12202c80bcaafb77a3cab43bac6f4f.tar.gz
base32: Use a custom error condition instead of 'misc-error'.
Suggested by Christopher Allan Webber <cwebber@dustycloud.org>. * guix/base32.scm (&invalid-base32-character): New error condition. (make-base32-string->bytevector): Use it instead of 'error'. * tests/base32.scm ("&invalid-base32-character"): New test.
Diffstat (limited to 'tests/base32.scm')
-rw-r--r--tests/base32.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/base32.scm b/tests/base32.scm
index 81d242355a..dcd926f4b8 100644
--- a/tests/base32.scm
+++ b/tests/base32.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +21,7 @@
#:use-module (guix base32)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-34)
#:use-module (srfi srfi-64)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 popen)
@@ -77,6 +78,13 @@
;; Examples from RFC 4648.
(map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
+(test-equal "&invalid-base32-character"
+ #\e
+ (guard (c ((invalid-base32-character? c)
+ (invalid-base32-character-value c)))
+ (nix-base32-string->bytevector
+ (string-append (make-string 51 #\a) "e"))))
+
;; The following test requires `nix-hash' in $PATH.
(unless %have-nix-hash?
(test-skip 1))