aboutsummaryrefslogtreecommitdiff
path: root/internal/iolimit/expect_length_reader_test.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-04 08:26:56 +0800
committerGravatar Runxi Yu2026-03-04 08:59:53 +0800
commitab7501be34032fb9e5c48726a68ae90a917af9eb (patch)
tree20d005647569befea8133e953c3270e8fd2a2a5b /internal/iolimit/expect_length_reader_test.go
parent*: gofumpt (diff)
signatureNo signature
*: Lint
Diffstat (limited to 'internal/iolimit/expect_length_reader_test.go')
-rw-r--r--internal/iolimit/expect_length_reader_test.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/iolimit/expect_length_reader_test.go b/internal/iolimit/expect_length_reader_test.go
index 503c88ed..e2cfeab0 100644
--- a/internal/iolimit/expect_length_reader_test.go
+++ b/internal/iolimit/expect_length_reader_test.go
@@ -13,15 +13,18 @@ func TestExpectLengthReaderExact(t *testing.T) {
t.Parallel()
r := iolimit.ExpectLengthReader(bytes.NewReader([]byte("hello")), 5)
+
got, err := io.ReadAll(r)
if err != nil {
t.Fatalf("ReadAll error: %v", err)
}
+
if !bytes.Equal(got, []byte("hello")) {
t.Fatalf("ReadAll = %q, want %q", got, "hello")
}
buf := make([]byte, 1)
+
n, err := r.Read(buf)
if n != 0 || !errors.Is(err, io.EOF) {
t.Fatalf("post-boundary Read = (%d,%v), want (0,EOF)", n, err)
@@ -32,6 +35,7 @@ func TestExpectLengthReaderShort(t *testing.T) {
t.Parallel()
r := iolimit.ExpectLengthReader(bytes.NewReader([]byte("hey")), 5)
+
_, err := io.ReadAll(r)
if !errors.Is(err, io.ErrUnexpectedEOF) {
t.Fatalf("ReadAll error = %v, want ErrUnexpectedEOF", err)
@@ -43,15 +47,18 @@ func TestExpectLengthReaderLongDetectedOnNextRead(t *testing.T) {
r := iolimit.ExpectLengthReader(bytes.NewReader([]byte("hello!")), 5)
buf := make([]byte, 5)
+
n, err := io.ReadFull(r, buf)
if err != nil {
t.Fatalf("ReadFull error: %v", err)
}
+
if n != 5 || !bytes.Equal(buf, []byte("hello")) {
t.Fatalf("ReadFull = (%d,%q), want (5,hello)", n, buf)
}
probe := make([]byte, 1)
+
n, err = r.Read(probe)
if n != 0 || !errors.Is(err, iolimit.ErrExpectedLengthExceeded) {
t.Fatalf("overflow Read = (%d,%v), want (0,ErrExpectedLengthExceeded)", n, err)
@@ -63,6 +70,7 @@ func TestExpectLengthReaderEmptyExpected(t *testing.T) {
r := iolimit.ExpectLengthReader(bytes.NewReader(nil), 0)
buf := make([]byte, 1)
+
n, err := r.Read(buf)
if n != 0 || !errors.Is(err, io.EOF) {
t.Fatalf("Read = (%d,%v), want (0,EOF)", n, err)