(array-set!): Exercise byte array range checks.
authorKevin Ryde <user42@zip.com.au>
Fri, 6 Aug 2004 00:17:12 +0000 (00:17 +0000)
committerKevin Ryde <user42@zip.com.au>
Fri, 6 Aug 2004 00:17:12 +0000 (00:17 +0000)
test-suite/tests/unif.test

index 3915fe2..946cbba 100644 (file)
 
 (with-test-prefix "array-set!"
 
+  (with-test-prefix "byte"
+
+    (let ((a (make-uniform-array #\nul 1)))
+
+      (pass-if "-128"
+       (begin (array-set! a -128 0) #t))
+      (pass-if "0"
+       (begin (array-set! a 0 0) #t))
+      (pass-if "127"
+       (begin (array-set! a 127 0) #t))
+      (pass-if-exception "-129" exception:out-of-range
+       (begin (array-set! a -129 0) #t))
+      (pass-if-exception "128" exception:out-of-range
+       (begin (array-set! a 128 0) #t))
+
+      (pass-if "#\\nul"
+       (begin (array-set! a #\nul 0) #t))
+      (pass-if "#\\del"
+       (begin (array-set! a #\del 0) #t))
+      (pass-if "char 255"
+       (begin (array-set! a (integer->char 255) 0) #t))))
+
   (with-test-prefix "short"
 
     (let ((a (make-uniform-array 's 1)))