Use io.SeekStart/End/Current constants now for go1.7+ #2154

This commit is contained in:
Nick Craig-Wood
2018-04-07 11:42:36 +01:00
parent 80588a5a6b
commit e5be471ce0
24 changed files with 64 additions and 63 deletions
+3 -3
View File
@@ -24,11 +24,11 @@ func (r *RepeatableReader) Seek(offset int64, whence int) (int64, error) {
var abs int64
cacheLen := int64(len(r.b))
switch whence {
case 0: //io.SeekStart
case io.SeekStart:
abs = offset
case 1: //io.SeekCurrent
case io.SeekCurrent:
abs = r.i + offset
case 2: //io.SeekEnd
case io.SeekEnd:
abs = cacheLen + offset
default:
return 0, errors.New("fs.RepeatableReader.Seek: invalid whence")
+6 -6
View File
@@ -32,7 +32,7 @@ func TestRepeatableReader(t *testing.T) {
// Test Seek Back to start
dst = make([]byte, 10)
pos, err = r.Seek(0, 0)
pos, err = r.Seek(0, io.SeekStart)
assert.Nil(t, err)
require.Equal(t, 0, int(pos))
@@ -58,13 +58,13 @@ func TestRepeatableReader(t *testing.T) {
buf = bytes.NewBuffer(b)
r = NewRepeatableReader(buf)
// Should not allow seek past cache index
pos, err = r.Seek(5, 1)
pos, err = r.Seek(5, io.SeekCurrent)
assert.NotNil(t, err)
assert.Equal(t, "fs.RepeatableReader.Seek: offset is unavailable", err.Error())
assert.Equal(t, 0, int(pos))
// Should not allow seek to negative position start
pos, err = r.Seek(-1, 1)
pos, err = r.Seek(-1, io.SeekCurrent)
assert.NotNil(t, err)
assert.Equal(t, "fs.RepeatableReader.Seek: negative position", err.Error())
assert.Equal(t, 0, int(pos))
@@ -78,15 +78,15 @@ func TestRepeatableReader(t *testing.T) {
// Should seek from index with io.SeekCurrent(1) whence
dst = make([]byte, 5)
_, _ = r.Read(dst)
pos, err = r.Seek(-3, 1)
pos, err = r.Seek(-3, io.SeekCurrent)
assert.Nil(t, err)
require.Equal(t, 2, int(pos))
pos, err = r.Seek(1, 1)
pos, err = r.Seek(1, io.SeekCurrent)
assert.Nil(t, err)
require.Equal(t, 3, int(pos))
// Should seek from cache end with io.SeekEnd(2) whence
pos, err = r.Seek(-3, 2)
pos, err = r.Seek(-3, io.SeekEnd)
assert.Nil(t, err)
require.Equal(t, 2, int(pos))