summaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/tests/eval.test15
-rw-r--r--test-suite/tests/ports.test54
2 files changed, 39 insertions, 30 deletions
diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test
index 7eb19ebec..9d6bc6d94 100644
--- a/test-suite/tests/eval.test
+++ b/test-suite/tests/eval.test
@@ -1,5 +1,5 @@
;;;; eval.test --- tests guile's evaluator -*- scheme -*-
-;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -28,6 +28,11 @@
(define exception:failed-match
(cons 'syntax-error "failed to match any pattern"))
+(define exception:not-a-list
+ (cons 'wrong-type-arg "Not a list"))
+
+(define exception:wrong-length
+ (cons 'wrong-type-arg "wrong length"))
;;;
;;; miscellaneous
@@ -192,19 +197,19 @@
(with-test-prefix "different length lists"
(pass-if-exception "first list empty"
- exception:out-of-range
+ exception:wrong-length
(map + '() '(1)))
(pass-if-exception "second list empty"
- exception:out-of-range
+ exception:wrong-length
(map + '(1) '()))
(pass-if-exception "first list shorter"
- exception:out-of-range
+ exception:wrong-length
(map + '(1) '(2 3)))
(pass-if-exception "second list shorter"
- exception:out-of-range
+ exception:wrong-length
(map + '(1 2) '(3)))
)))
diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test
index 7b646a110..9fb6a9632 100644
--- a/test-suite/tests/ports.test
+++ b/test-suite/tests/ports.test
@@ -486,7 +486,10 @@
(make-check
(syntax-rules (-> error eof)
((_ port (proc -> error))
- (decoding-error? port (proc port)))
+ (if (eq? 'substitute
+ (port-conversion-strategy port))
+ (eq? (proc port) #\?)
+ (decoding-error? port (proc port))))
((_ port (proc -> eof))
(eof-object? (proc port)))
((_ port (proc -> char))
@@ -510,7 +513,8 @@
((peek-char -> e1)
(read-char -> e1))
expected ...))))
- (test-decoding-error
+
+ (test-decoding-error*
(syntax-rules ()
((_ sequence encoding strategy (expected ...))
(begin
@@ -532,56 +536,56 @@
(u8-list->bytevector 'sequence))))
(set-port-encoding! p encoding)
(set-port-conversion-strategy! p strategy)
- (make-peek+read-checks p #f expected ...))))))))
+ (make-peek+read-checks p #f expected
+ ...)))))))
+ (test-decoding-error
+ (syntax-rules ()
+ ((_ sequence encoding (expected ...))
+ (begin
+ (test-decoding-error* sequence encoding 'error
+ (expected ...))
- (test-decoding-error (255 65 66 67) "UTF-8" 'error
- (error #\A #\B #\C eof))
+ ;; `escape' should behave exactly like `error'.
+ (test-decoding-error* sequence encoding 'escape
+ (expected ...))
- (test-decoding-error (255 65 66 67) "UTF-8" 'escape
- ;; `escape' should behave exactly like `error'.
+ (test-decoding-error* sequence encoding 'substitute
+ (expected ...)))))))
+
+ (test-decoding-error (255 65 66 67) "UTF-8"
(error #\A #\B #\C eof))
- (test-decoding-error (255 206 187 206 188) "UTF-8" 'substitute
- (#\? #\λ #\μ eof))
+ (test-decoding-error (255 206 187 206 188) "UTF-8"
+ (error #\λ #\μ eof))
- (test-decoding-error (206 187 206) "UTF-8" 'error
+ (test-decoding-error (206 187 206) "UTF-8"
;; Unterminated sequence.
(#\λ error eof))
- (test-decoding-error (206 187 206) "UTF-8" 'substitute
- ;; Unterminated sequence.
- (#\λ #\? eof))
-
;; Check how ill-formed UTF-8 sequences are handled (see Table 3-7
;; of the "Conformance" chapter of Unicode 6.0.0.)
- (test-decoding-error (#xc0 #x80 #x41) "UTF-8" 'error
+ (test-decoding-error (#xc0 #x80 #x41) "UTF-8"
(error ;; C0: should be in the C2..DF range
error ;; 80: invalid
#\A
eof))
- (test-decoding-error (#xc0 #x80 #x41) "UTF-8" 'substitute
- (#\? ;; C0: should be in the C2..DF range
- #\? ;; 80: invalid
- #\A
- eof))
-
- (test-decoding-error (#xc2 #x41 #x42) "UTF-8" 'error
+ (test-decoding-error (#xc2 #x41 #x42) "UTF-8"
(error ;; 41: should be in the 80..BF range
#\B
eof))
- (test-decoding-error (#xe0 #x88 #x88) "UTF-8" 'error
+ (test-decoding-error (#xe0 #x88 #x88) "UTF-8"
(error ;; 2nd byte should be in the A0..BF range
eof))
- (test-decoding-error (#xe0 #xa0 #x41 #x42) "UTF-8" 'error
+ (test-decoding-error (#xe0 #xa0 #x41 #x42) "UTF-8"
(error ;; 3rd byte should be in the 80..BF range
#\B
eof))
- (test-decoding-error (#xf0 #x88 #x88 #x88) "UTF-8" 'error
+ (test-decoding-error (#xf0 #x88 #x88 #x88) "UTF-8"
(error ;; 2nd byte should be in the 90..BF range
eof))))