From 36c8c5f063a73ad85a2ac36a8af8de93d348d07b Mon Sep 17 00:00:00 2001 From: Shawn Smith Date: Sun, 29 Dec 2013 22:38:05 +1100 Subject: [PATCH] io: add tests for SectionReader ReadAt and Size R=golang-codereviews, dave CC=golang-codereviews https://golang.org/cl/39200045 --- src/pkg/io/io_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/pkg/io/io_test.go b/src/pkg/io/io_test.go index bd7a82f17b..57db1fbf0b 100644 --- a/src/pkg/io/io_test.go +++ b/src/pkg/io/io_test.go @@ -281,6 +281,8 @@ func TestSectionReader_ReadAt(t *testing.T) { {data: dat, off: 3, n: len(dat), bufLen: len(dat) / 2, at: 2, exp: dat[5 : 5+len(dat)/2], err: nil}, {data: dat, off: 3, n: len(dat) / 2, bufLen: len(dat)/2 - 2, at: 2, exp: dat[5 : 5+len(dat)/2-2], err: nil}, {data: dat, off: 3, n: len(dat) / 2, bufLen: len(dat)/2 + 2, at: 2, exp: dat[5 : 5+len(dat)/2-2], err: EOF}, + {data: dat, off: 0, n: 0, bufLen: 0, at: -1, exp: "", err: EOF}, + {data: dat, off: 0, n: 0, bufLen: 0, at: 1, exp: "", err: EOF}, } for i, tt := range tests { r := strings.NewReader(tt.data) @@ -319,3 +321,21 @@ func TestSectionReader_Seek(t *testing.T) { t.Errorf("Read = %v, %v; want 0, EOF", n, err) } } + +func TestSectionReader_Size(t *testing.T) { + tests := []struct { + data string + want int64 + }{ + {"a long sample data, 1234567890", 30}, + {"", 0}, + } + + for _, tt := range tests { + r := strings.NewReader(tt.data) + sr := NewSectionReader(r, 0, int64(len(tt.data))) + if got := sr.Size(); got != tt.want { + t.Errorf("Size = %v; want %v", got, tt.want) + } + } +} -- 2.48.1