noseeker_test.go 506 B

1234567891011121314151617181920212223242526272829303132
  1. package readers
  2. import (
  3. "bytes"
  4. "io"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestNoSeeker(t *testing.T) {
  9. r := bytes.NewBufferString("hello")
  10. rs := NoSeeker{Reader: r}
  11. // Check read
  12. b := make([]byte, 4)
  13. n, err := rs.Read(b)
  14. assert.NoError(t, err)
  15. assert.Equal(t, 4, n)
  16. assert.Equal(t, []byte("hell"), b)
  17. // Check seek
  18. _, err = rs.Seek(0, io.SeekCurrent)
  19. assert.Equal(t, errCantSeek, err)
  20. }
  21. // check interfaces
  22. var (
  23. _ io.Reader = NoSeeker{}
  24. _ io.Seeker = NoSeeker{}
  25. )