8 func TestWriter(t *testing.T) {
10 tw := testWriter{nil, errX, nil}
12 _, err := w.Write([]byte{1})
14 t.Error("unexpected error", err)
16 if g := w.Written(); g != 1 {
17 t.Errorf("w.Written() = %d want 1", g)
20 t.Errorf("len(tw) = %d want 2", len(tw))
22 for i := 0; i < 10; i++ {
23 _, err = w.Write([]byte{1})
25 t.Errorf("err = %v want %v", err, errX)
27 if g := w.Written(); g != 2 {
28 t.Errorf("w.Written() = %d want 2", g)
31 t.Errorf("len(tw) = %d want 1", len(tw))
34 if got := w.Err(); got != errX {
35 t.Errorf("w.Err() = %v want %v", got, errX)
39 // testWriter returns its errors in order.
40 // elements of a testWriter may be nil.
41 // if its len is 0, it returns io.EOF.
42 type testWriter []error
44 func (tw *testWriter) Write(p []byte) (int, error) {