From baffc23ee6c7b9c863224cb7d335b92916ae0a4e Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 3 Mar 2015 09:58:07 +1100 Subject: [PATCH] MemFSTest.Rmdir_Empty --- samples/memfs/memfs_test.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/samples/memfs/memfs_test.go b/samples/memfs/memfs_test.go index 683413f..21524f7 100644 --- a/samples/memfs/memfs_test.go +++ b/samples/memfs/memfs_test.go @@ -328,7 +328,32 @@ func (t *MemFSTest) Rmdir_NonEmpty() { } func (t *MemFSTest) Rmdir_Empty() { - AssertTrue(false, "TODO") + var err error + var entries []os.FileInfo + + // Create two levels of directories. + err = os.MkdirAll(path.Join(t.mfs.Dir(), "foo/bar"), 0754) + AssertEq(nil, err) + + // Remove the leaf. + err = os.Remove(path.Join(t.mfs.Dir(), "foo/bar")) + AssertEq(nil, err) + + // There should be nothing left in the parent. + entries, err = ioutil.ReadDir(path.Join(t.mfs.Dir(), "foo")) + + AssertEq(nil, err) + ExpectThat(entries, ElementsAre()) + + // Remove the parent. + err = os.Remove(path.Join(t.mfs.Dir(), "foo")) + AssertEq(nil, err) + + // Now the root directory should be empty, too. + entries, err = ioutil.ReadDir(t.mfs.Dir()) + + AssertEq(nil, err) + ExpectThat(entries, ElementsAre()) } func (t *MemFSTest) Rmdir_NotADirectory() {