diff options
Diffstat (limited to 'vendor/github.com/spf13/afero/memmap_test.go')
-rw-r--r-- | vendor/github.com/spf13/afero/memmap_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/github.com/spf13/afero/memmap_test.go b/vendor/github.com/spf13/afero/memmap_test.go index 09d8680f6..47414ab14 100644 --- a/vendor/github.com/spf13/afero/memmap_test.go +++ b/vendor/github.com/spf13/afero/memmap_test.go @@ -2,6 +2,7 @@ package afero import ( "fmt" + "io" "os" "path/filepath" "runtime" @@ -419,3 +420,32 @@ func TestMemFsDirMode(t *testing.T) { t.Error("FileMode is not directory") } } + +func TestMemFsUnexpectedEOF(t *testing.T) { + t.Parallel() + + fs := NewMemMapFs() + + if err := WriteFile(fs, "file.txt", []byte("abc"), 0777); err != nil { + t.Fatal(err) + } + + f, err := fs.Open("file.txt") + if err != nil { + t.Fatal(err) + } + defer f.Close() + + // Seek beyond the end. + _, err = f.Seek(512, 0) + if err != nil { + t.Fatal(err) + } + + buff := make([]byte, 256) + _, err = io.ReadAtLeast(f, buff, 256) + + if err != io.ErrUnexpectedEOF { + t.Fatal("Expected ErrUnexpectedEOF") + } +} |