HelloFSTest.OpenAndRead
parent
3cc0b9cb55
commit
11a4a83b37
|
@ -4,6 +4,7 @@
|
||||||
package samples_test
|
package samples_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
@ -198,16 +199,57 @@ func (t *HelloFSTest) ReadFile_World() {
|
||||||
ExpectEq("Hello, world!", string(slice))
|
ExpectEq("Hello, world!", string(slice))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *HelloFSTest) Read_Hello() {
|
func (t *HelloFSTest) OpenAndRead() {
|
||||||
AssertTrue(false, "TODO")
|
var buf []byte = make([]byte, 1024)
|
||||||
}
|
var n int
|
||||||
|
var off int64
|
||||||
|
var err error
|
||||||
|
|
||||||
func (t *HelloFSTest) Read_Dir() {
|
// Open the file.
|
||||||
AssertTrue(false, "TODO")
|
f, err := os.Open(path.Join(t.mfs.Dir(), "hello"))
|
||||||
}
|
defer func() {
|
||||||
|
if f != nil {
|
||||||
|
ExpectEq(nil, f.Close())
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
func (t *HelloFSTest) Read_World() {
|
AssertEq(nil, err)
|
||||||
AssertTrue(false, "TODO")
|
|
||||||
|
// Seeking shouldn't affect the random access reads below.
|
||||||
|
_, err = f.Seek(7, 0)
|
||||||
|
AssertEq(nil, err)
|
||||||
|
|
||||||
|
// Random access reads
|
||||||
|
n, err = f.ReadAt(buf[:2], 0)
|
||||||
|
AssertEq(nil, err)
|
||||||
|
ExpectEq(2, n)
|
||||||
|
ExpectEq("He", string(buf[:n]))
|
||||||
|
|
||||||
|
n, err = f.ReadAt(buf[:2], int64(len("Hel")))
|
||||||
|
AssertEq(nil, err)
|
||||||
|
ExpectEq(2, n)
|
||||||
|
ExpectEq("lo", string(buf[:n]))
|
||||||
|
|
||||||
|
n, err = f.ReadAt(buf[:3], int64(len("Hello, wo")))
|
||||||
|
AssertEq(nil, err)
|
||||||
|
ExpectEq(3, n)
|
||||||
|
ExpectEq("rld", string(buf[:n]))
|
||||||
|
|
||||||
|
// Read beyond end.
|
||||||
|
n, err = f.ReadAt(buf[:3], int64(len("Hello, world")))
|
||||||
|
AssertEq(io.EOF, err)
|
||||||
|
ExpectEq(1, n)
|
||||||
|
ExpectEq("!", string(buf[:n]))
|
||||||
|
|
||||||
|
// Seek then read the rest.
|
||||||
|
off, err = f.Seek(int64(len("Hel")), 0)
|
||||||
|
AssertEq(nil, err)
|
||||||
|
AssertEq(len("Hel"), off)
|
||||||
|
|
||||||
|
n, err = io.ReadFull(f, buf[:len("lo, world!")])
|
||||||
|
AssertEq(nil, err)
|
||||||
|
ExpectEq(len("lo, world!"), n)
|
||||||
|
ExpectEq("lo, world!", string(buf[:n]))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *HelloFSTest) Open_NonExistent() {
|
func (t *HelloFSTest) Open_NonExistent() {
|
||||||
|
|
Loading…
Reference in New Issue