From c4b63825aa1c76da7d229281cd4de6c057a5ff63 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Wed, 9 Feb 2022 11:43:42 -0700 Subject: [PATCH] test get root w deleted --- spike/review/reinvent/ezmded/server/tree.go | 13 +++++++------ spike/review/reinvent/ezmded/server/tree_test.go | 8 +++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/spike/review/reinvent/ezmded/server/tree.go b/spike/review/reinvent/ezmded/server/tree.go index 80bdb23..f9af7c9 100644 --- a/spike/review/reinvent/ezmded/server/tree.go +++ b/spike/review/reinvent/ezmded/server/tree.go @@ -67,21 +67,21 @@ func (tree Tree) Find(baseId string) ([]string, bool) { } func (tree Tree) GetRootMeta() (Branch, error) { - return tree.getRoot(false) + return tree.getRoot(false, false) } func (tree Tree) GetRoot() (Branch, error) { if !tree.cachedRoot.IsZero() { return tree.cachedRoot, nil } - got, err := tree.getRoot(true) + got, err := tree.getRoot(true, false) if err == nil { tree.cachedRoot = got } return got, err } -func (tree Tree) getRoot(withContent bool) (Branch, error) { +func (tree Tree) getRoot(withContent, withDeleted bool) (Branch, error) { m := Branch{Branches: map[string]Branch{}} entries, err := os.ReadDir(tree.root) if os.IsNotExist(err) { @@ -100,13 +100,14 @@ func (tree Tree) getRoot(withContent bool) (Branch, error) { if !withContent { m.Leaf.Content = "" } - if m.Leaf.Deleted { + if m.Leaf.Deleted && !withDeleted { return m, nil } } else if entry.IsDir() { - if branch, err := tree.WithRoot(path.Join(tree.root, entry.Name())).getRoot(withContent); err != nil { + subtree := tree.WithRoot(path.Join(tree.root, entry.Name())) + if branch, err := subtree.getRoot(withContent, withDeleted); err != nil { return Branch{}, err - } else if !branch.Leaf.Deleted && !branch.IsZero() { + } else if !branch.IsZero() && (!branch.Leaf.Deleted || withDeleted) { m.Branches[entry.Name()] = branch } } diff --git a/spike/review/reinvent/ezmded/server/tree_test.go b/spike/review/reinvent/ezmded/server/tree_test.go index 6b614ae..184c001 100644 --- a/spike/review/reinvent/ezmded/server/tree_test.go +++ b/spike/review/reinvent/ezmded/server/tree_test.go @@ -26,7 +26,13 @@ func TestTreeDel(t *testing.T) { if root, err := tree.GetRoot(); err != nil { t.Fatal(err) - } else if len(root.Branches) > 0 { + } else if len(root.Branches) != 0 { + t.Fatal(root.Branches) + } + + if root, err := tree.getRoot(false, true); err != nil { + t.Fatal(err) + } else if len(root.Branches) != 1 { t.Fatal(root.Branches) } }