@@ -141,7 +141,8 @@ func TestEncoderLargeInput(t *testing.T) {
141141}
142142
143143func TestEncoderFlush (t * testing.T ) {
144- input := make ([]byte , 1000 )
144+ const payload = 32766 // Enough to force encoder emit 2 chunks
145+ input := make ([]byte , payload )
145146 rand .Read (input )
146147 out := bytes.Buffer {}
147148 e := NewWriter (& out , WriterOptions {Quality : 5 })
@@ -156,11 +157,16 @@ func TestEncoderFlush(t *testing.T) {
156157 if out .Len () == 0 {
157158 t .Fatalf ("0 bytes written after Flush()" )
158159 }
159- decompressed := make ([]byte , 1000 )
160+ decompressed := make ([]byte , payload )
160161 reader := NewReader (bytes .NewReader (out .Bytes ()))
161162 n , err := reader .Read (decompressed )
163+ if n >= len (decompressed ) || err != nil {
164+ t .Errorf ("Expected {<%v, nil}, but got {%v, %v}" , len (decompressed ), n , err )
165+ }
166+ m , err := reader .Read (decompressed [n :])
167+ n += m
162168 if n != len (decompressed ) || err != nil {
163- t .Errorf ("Expected < %v, nil> , but < %v, %v> " , len (decompressed ), n , err )
169+ t .Errorf ("Expected { %v, nil} , but got { %v, %v} " , len (decompressed ), n , err )
164170 }
165171 reader .Close ()
166172 if ! bytes .Equal (decompressed , input ) {
0 commit comments