| 191 | } |
| 192 | |
| 193 | func TestSkipOnlyZeroReader(t *testing.T) { |
| 194 | var z zeroReader |
| 195 | |
| 196 | c := make(chan *Reader) |
| 197 | go func() { |
| 198 | r := SkipOnly(z) |
| 199 | c <- r |
| 200 | }() |
| 201 | |
| 202 | select { |
| 203 | case r := <-c: |
| 204 | var b [1]byte |
| 205 | n, err := r.Read(b[:]) |
| 206 | if n != 0 { |
| 207 | t.Error("unexpected bytes count:", n) |
| 208 | } |
| 209 | if !errors.Is(err, io.ErrNoProgress) { |
| 210 | t.Error("unexpected error:", err) |
| 211 | } |
| 212 | case <-time.After(time.Second): |
| 213 | t.Error("test timed out (endless loop in Skip?)") |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | func TestReader_ReadEmpty(t *testing.T) { |
| 218 | for _, tc := range testCases { |