Merge commit 'fdd319e9bd4121d844662d3d8ccc69b462b60840'
[bpt/guile.git] / test-suite / tests / bytevectors.test
index 8abda4a..91367db 100644 (file)
     (let ((b (make-bytevector 0)))
       (null? (bytevector->uint-list b (endianness big) 2))))
 
-  (pass-if "bytevector->sint-list [length < word size]"
-    (let ((b (make-bytevector 1)))
-      (null? (bytevector->sint-list b (endianness big) 2))))
-
   (pass-if-exception "bytevector->sint-list [out-of-range]"
     exception:out-of-range
     (bytevector->sint-list (make-bytevector 6) (endianness little) -1))
     exception:out-of-range
     (bytevector->uint-list (make-bytevector 6) (endianness little) 0))
 
-  (pass-if "bytevector->sint-list [off-by-one]"
-    (equal? (bytevector->sint-list (make-bytevector 31 #xff)
-                                   (endianness little) 8)
-            '(-1 -1 -1)))
+  (pass-if-exception "bytevector->uint-list [word size doesn't divide length]"
+    exception:wrong-type-arg
+    (bytevector->uint-list (make-bytevector 6) (endianness little) 4))
 
   (pass-if "{sint,uint}-list->bytevector"
     (let ((b1 (sint-list->bytevector '(513 -253 513 513)
 
   (pass-if "bitvector < 8"
     (let ((bv (uniform-array->bytevector (make-bitvector 4 #t))))
-      (= (bytevector-length bv) 1)))
+      (= (bytevector-length bv) 4)))
 
   (pass-if "bitvector == 8"
     (let ((bv (uniform-array->bytevector (make-bitvector 8 #t))))
-      (= (bytevector-length bv) 1)))
+      (= (bytevector-length bv) 4)))
 
   (pass-if "bitvector > 8"
     (let ((bv (uniform-array->bytevector (make-bitvector 9 #t))))
-      (= (bytevector-length bv) 2))))
+      (= (bytevector-length bv) 4)))
+
+  (pass-if "bitvector == 32"
+    (let ((bv (uniform-array->bytevector (make-bitvector 32 #t))))
+      (= (bytevector-length bv) 4)))
+
+  (pass-if "bitvector > 32"
+    (let ((bv (uniform-array->bytevector (make-bitvector 33 #t))))
+      (= (bytevector-length bv) 8))))
 
 \f
 (with-test-prefix "srfi-4 homogeneous numeric vectors as bytevectors"