diff options
Diffstat (limited to 'test-suite/tests')
-rw-r--r-- | test-suite/tests/eval.test | 15 | ||||
-rw-r--r-- | test-suite/tests/ports.test | 54 |
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)))) |