1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package filex
- import (
- "os"
- "testing"
- "github.com/stretchr/testify/assert"
- "github.com/tal-tech/go-zero/core/fs"
- )
- func TestRangeReader(t *testing.T) {
- const text = `hello
- world`
- file, err := fs.TempFileWithText(text)
- assert.Nil(t, err)
- defer func() {
- file.Close()
- os.Remove(file.Name())
- }()
- reader := NewRangeReader(file, 5, 8)
- buf := make([]byte, 10)
- n, err := reader.Read(buf)
- assert.Nil(t, err)
- assert.Equal(t, 3, n)
- assert.Equal(t, `
- wo`, string(buf[:n]))
- }
- func TestRangeReader_OutOfRange(t *testing.T) {
- const text = `hello
- world`
- file, err := fs.TempFileWithText(text)
- assert.Nil(t, err)
- defer func() {
- file.Close()
- os.Remove(file.Name())
- }()
- reader := NewRangeReader(file, 50, 8)
- buf := make([]byte, 10)
- _, err = reader.Read(buf)
- assert.NotNil(t, err)
- }
|