* test-suite/tests/r6rs-ports.test (get-bytevector-n! [short]): add
(get-bytevector-n! [long]): add
---
test-suite/tests/r6rs-ports.test | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/test-suite/tests/r6rs-ports.test b/test-suite/tests/r6rs-ports.test
index 4d1981df2..c42783465 100644
--- a/test-suite/tests/r6rs-ports.test
+++ b/test-suite/tests/r6rs-ports.test
@@ -23,6 +23,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (ice-9 match)
+ #:use-module ((ice-9 binary-ports) #:select (get-bytevector-some!))
#:use-module (rnrs io ports)
#:use-module (rnrs io simple)
#:use-module (rnrs exceptions)
@@ -183,6 +184,25 @@
(equal? (bytevector->u8-list bv)
(map char->integer (string->list str))))))
+ (pass-if "get-bytevector-some! [short]"
+ (let* ((port (open-input-string "GNU Guile"))
+ (bv (make-bytevector 4))
+ (read (get-bytevector-some! port bv 0 4)))
+ (and (equal? read 4)
+ (equal? (bytevector->u8-list bv)
+ (map char->integer (string->list "GNU "))))))
+
+ (pass-if "get-bytevector-some! [long]"
+ (let* ((str "GNU Guile")
+ (port (open-input-string str))
+ (bv (make-bytevector 256))
+ (read (get-bytevector-some! port bv 0 256)))
+ (and (equal? read (string-length str))
+ (equal? (map (lambda (i)
+ (bytevector-u8-ref bv i))
+ (iota read))
+ (map char->integer (string->list str))))))
+
(pass-if "get-bytevector-all"
(let* ((str "GNU Guile")
(index 0)
--
2.30.0