add directory size calculations
This commit is contained in:
52
vfs_test.go
52
vfs_test.go
@@ -44,13 +44,13 @@ func TestVFS_Basic(t *testing.T) {
|
||||
|
||||
func TestVFS_MockFile(t *testing.T) {
|
||||
vfs := NewVFS()
|
||||
path := "test.txt"
|
||||
p := "test.txt"
|
||||
sz := int64(8096)
|
||||
|
||||
err := vfs.CreateMockFile(path, sz, 0666)
|
||||
err := vfs.CreateMockFile(p, sz, 0666)
|
||||
assert.NoError(t, err)
|
||||
|
||||
fp, err := vfs.Open(path)
|
||||
fp, err := vfs.Open(p)
|
||||
assert.NoError(t, err)
|
||||
|
||||
stat, err := fp.Stat()
|
||||
@@ -60,3 +60,49 @@ func TestVFS_MockFile(t *testing.T) {
|
||||
err = fp.Close()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestVFS_DirSize(t *testing.T) {
|
||||
vfs := NewVFS()
|
||||
|
||||
err := vfs.MkdirAll("root/one", 0777)
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = vfs.MkdirAll("root/two", 0777)
|
||||
assert.NoError(t, err)
|
||||
|
||||
files := []string{
|
||||
"root/one/f1",
|
||||
"root/one/f2",
|
||||
"root/two/f1",
|
||||
"root/two/f2",
|
||||
"root/two/f3",
|
||||
"root/two/f4",
|
||||
}
|
||||
|
||||
sz := int64(1)
|
||||
for _, file := range files {
|
||||
err = vfs.CreateMockFile(file, sz, 0666)
|
||||
assert.NoError(t, err)
|
||||
|
||||
}
|
||||
|
||||
fp, err := vfs.Open("root/one")
|
||||
assert.NoError(t, err)
|
||||
|
||||
stat, err := fp.Stat()
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, stat.Size(), int64(2))
|
||||
|
||||
err = fp.Close()
|
||||
assert.NoError(t, err)
|
||||
|
||||
fp, err = vfs.Open("root/two")
|
||||
assert.NoError(t, err)
|
||||
|
||||
stat, err = fp.Stat()
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, stat.Size(), int64(4))
|
||||
|
||||
err = fp.Close()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user