Browse Source

[dav] seek test with whence from io

cgars 7 years ago
parent
commit
96d34b026a
2 changed files with 7 additions and 6 deletions
  1. 2 2
      pkg/dav/dav.go
  2. 5 4
      pkg/dav/dav_test.go

+ 2 - 2
pkg/dav/dav.go

@@ -108,7 +108,7 @@ func (f *GinFile) Read(p []byte) (n int, err error) {
 		return n, err
 	}
 	copy(p, p[f.seekoset:])
-	// todo: int64 issue (signature wrong?)
+	// int64 issue (signature wrong?)-> max slice size 2^32
 	return n - int(f.seekoset), nil
 }
 
@@ -140,7 +140,7 @@ func (f *GinFile) Seek(offset int64, whence int) (int64, error) {
 		f.seekoset = noffset
 		return f.seekoset, nil
 	}
-	return 0, nil
+	return f.seekoset, fmt.Errorf("Seeking failed")
 }
 
 func (f *GinFile) Readdir(count int) ([]os.FileInfo, error) {

+ 5 - 4
pkg/dav/dav_test.go

@@ -1,6 +1,7 @@
 package dav
 
 import (
+	"io"
 	"log"
 	"strings"
 	"testing"
@@ -147,7 +148,7 @@ func TestSeekFile(t *testing.T) {
 	if err != nil {
 		log.Fatal(err)
 	}
-	f.Seek(1, 0)
+	f.Seek(1, io.SeekStart)
 	bf := make([]byte, 50)
 	n, err := f.Read(bf)
 	if err != nil {
@@ -163,13 +164,13 @@ func TestSeekFile(t *testing.T) {
 		t.Fail()
 	}
 
-	f.Seek(0, 0)
-	end, err := f.Seek(0, 2)
+	// Test Seek end Seek begin
+	end, err := f.Seek(0, io.SeekEnd)
 	if err != nil {
 		t.Logf("%*v", err)
 		t.Fail()
 	}
-	beg, err := f.Seek(0, 0)
+	beg, err := f.Seek(0, io.SeekStart)
 	if err != nil {
 		t.Logf("%*v", err)
 		t.Fail()