diff options
| author | Ondřej Surý <ondrej@sury.org> | 2012-01-30 15:38:19 +0100 | 
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2012-01-30 16:31:40 +0100 | 
| commit | 3e609a8872e69b2df7447de5f308a5d4340f1cbf (patch) | |
| tree | f49969bc8ba81dd1d3869bd6747ca8b8b7d403fc /src/pkg/bytes/buffer_test.go | |
| parent | e0329b098725bc398083bfb04691a257d8ee6a25 (diff) | |
| download | golang-3e609a8872e69b2df7447de5f308a5d4340f1cbf.tar.gz | |
Imported Upstream version 2012.01.27
Diffstat (limited to 'src/pkg/bytes/buffer_test.go')
| -rw-r--r-- | src/pkg/bytes/buffer_test.go | 36 | 
1 files changed, 24 insertions, 12 deletions
| diff --git a/src/pkg/bytes/buffer_test.go b/src/pkg/bytes/buffer_test.go index 06d2a65c6..d0af11f10 100644 --- a/src/pkg/bytes/buffer_test.go +++ b/src/pkg/bytes/buffer_test.go @@ -6,17 +6,16 @@ package bytes_test  import (  	. "bytes" -	"os" -	"rand" +	"io" +	"math/rand"  	"testing" -	"utf8" +	"unicode/utf8"  )  const N = 10000  // make this bigger for a larger (and slower) test  var data string  // test data for write tests  var bytes []byte // test data; same as data but as a slice. -  func init() {  	bytes = make([]byte, N)  	for i := 0; i < N; i++ { @@ -264,7 +263,7 @@ func TestRuneIO(t *testing.T) {  	b := make([]byte, utf8.UTFMax*NRune)  	var buf Buffer  	n := 0 -	for r := 0; r < NRune; r++ { +	for r := rune(0); r < NRune; r++ {  		size := utf8.EncodeRune(b[n:], r)  		nbytes, err := buf.WriteRune(r)  		if err != nil { @@ -284,7 +283,7 @@ func TestRuneIO(t *testing.T) {  	p := make([]byte, utf8.UTFMax)  	// Read it back with ReadRune -	for r := 0; r < NRune; r++ { +	for r := rune(0); r < NRune; r++ {  		size := utf8.EncodeRune(p, r)  		nr, nbytes, err := buf.ReadRune()  		if nr != r || nbytes != size || err != nil { @@ -295,7 +294,7 @@ func TestRuneIO(t *testing.T) {  	// Check that UnreadRune works  	buf.Reset()  	buf.Write(b) -	for r := 0; r < NRune; r++ { +	for r := rune(0); r < NRune; r++ {  		r1, size, _ := buf.ReadRune()  		if err := buf.UnreadRune(); err != nil {  			t.Fatalf("UnreadRune(%U) got error %q", r, err) @@ -344,21 +343,21 @@ var readBytesTests = []struct {  	buffer   string  	delim    byte  	expected []string -	err      os.Error +	err      error  }{ -	{"", 0, []string{""}, os.EOF}, +	{"", 0, []string{""}, io.EOF},  	{"a\x00", 0, []string{"a\x00"}, nil},  	{"abbbaaaba", 'b', []string{"ab", "b", "b", "aaab"}, nil},  	{"hello\x01world", 1, []string{"hello\x01"}, nil}, -	{"foo\nbar", 0, []string{"foo\nbar"}, os.EOF}, +	{"foo\nbar", 0, []string{"foo\nbar"}, io.EOF},  	{"alpha\nbeta\ngamma\n", '\n', []string{"alpha\n", "beta\n", "gamma\n"}, nil}, -	{"alpha\nbeta\ngamma", '\n', []string{"alpha\n", "beta\n", "gamma"}, os.EOF}, +	{"alpha\nbeta\ngamma", '\n', []string{"alpha\n", "beta\n", "gamma"}, io.EOF},  }  func TestReadBytes(t *testing.T) {  	for _, test := range readBytesTests {  		buf := NewBufferString(test.buffer) -		var err os.Error +		var err error  		for _, expected := range test.expected {  			var bytes []byte  			bytes, err = buf.ReadBytes(test.delim) @@ -374,3 +373,16 @@ func TestReadBytes(t *testing.T) {  		}  	}  } + +// Was a bug: used to give EOF reading empty slice at EOF. +func TestReadEmptyAtEOF(t *testing.T) { +	b := new(Buffer) +	slice := make([]byte, 0) +	n, err := b.Read(slice) +	if err != nil { +		t.Errorf("read error: %v", err) +	} +	if n != 0 { +		t.Errorf("wrong count; got %d want 0", n) +	} +} | 
