diff options
| author | Michael Stapelberg <michael@stapelberg.de> | 2013-08-13 13:44:32 +0200 |
|---|---|---|
| committer | Michael Stapelberg <michael@stapelberg.de> | 2013-08-13 13:44:32 +0200 |
| commit | 436bdaf6f17a623e324c52ecc17a6da0ebf3ea41 (patch) | |
| tree | bac2f35f921ef1c0168cd617bb64ccac31b6fd2d /src/pkg/bufio/bufio_test.go | |
| parent | 05cc04cd5e3b09971b8de97720870cc6772a1af9 (diff) | |
| parent | b901efe83e212f0c34c769c079e41373da12d723 (diff) | |
| download | golang-436bdaf6f17a623e324c52ecc17a6da0ebf3ea41.tar.gz | |
Merge tag 'upstream/1.1.2' into debian-sid
Upstream version 1.1.2
Diffstat (limited to 'src/pkg/bufio/bufio_test.go')
| -rw-r--r-- | src/pkg/bufio/bufio_test.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/pkg/bufio/bufio_test.go b/src/pkg/bufio/bufio_test.go index 79ed0f178..9fcbfda68 100644 --- a/src/pkg/bufio/bufio_test.go +++ b/src/pkg/bufio/bufio_test.go @@ -847,6 +847,10 @@ func TestWriterReadFrom(t *testing.T) { t.Errorf("ws[%d],rs[%d]: w.ReadFrom(r) = %d, %v, want %d, nil", wi, ri, n, err, len(input)) continue } + if err := w.Flush(); err != nil { + t.Errorf("Flush returned %v", err) + continue + } if got, want := b.String(), string(input); got != want { t.Errorf("ws[%d], rs[%d]:\ngot %q\nwant %q\n", wi, ri, got, want) } @@ -1003,6 +1007,24 @@ func TestReaderClearError(t *testing.T) { } } +// Test for golang.org/issue/5947 +func TestWriterReadFromWhileFull(t *testing.T) { + buf := new(bytes.Buffer) + w := NewWriterSize(buf, 10) + + // Fill buffer exactly. + n, err := w.Write([]byte("0123456789")) + if n != 10 || err != nil { + t.Fatalf("Write returned (%v, %v), want (10, nil)", n, err) + } + + // Use ReadFrom to read in some data. + n2, err := w.ReadFrom(strings.NewReader("abcdef")) + if n2 != 6 || err != nil { + t.Fatalf("ReadFrom returned (%v, %v), want (6, nil)", n, err) + } +} + // An onlyReader only implements io.Reader, no matter what other methods the underlying implementation may have. type onlyReader struct { r io.Reader |
