diff options
Diffstat (limited to 'object/tree_serialize_test.go')
| -rw-r--r-- | object/tree_serialize_test.go | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/object/tree_serialize_test.go b/object/tree_serialize_test.go index e8ebb140..c038ad58 100644 --- a/object/tree_serialize_test.go +++ b/object/tree_serialize_test.go @@ -16,32 +16,44 @@ func TestTreeSerialize(t *testing.T) { tree := &object.Tree{} for i := len(entries) - 1; i >= 0; i-- { - if err := tree.InsertEntry(entries[i]); err != nil { + err := tree.InsertEntry(entries[i]) + if err != nil { t.Fatalf("InsertEntry(%q): %v", entries[i].Name, err) } } + if len(tree.Entries) < 32 { t.Fatalf("expected at least 32 entries, got %d", len(tree.Entries)) } dup := tree.Entries[0] - if err := tree.InsertEntry(dup); err == nil { + + err := tree.InsertEntry(dup) + if err == nil { t.Fatalf("duplicate InsertEntry should fail") } removed := tree.Entries[len(tree.Entries)/2] - if err := tree.RemoveEntry(removed.Name); err != nil { + + err = tree.RemoveEntry(removed.Name) + if err != nil { t.Fatalf("RemoveEntry(%q): %v", removed.Name, err) } + if tree.Entry(removed.Name) != nil { t.Fatalf("Entry(%q) should be nil after remove", removed.Name) } - if err := tree.RemoveEntry([]byte("no-such-entry")); err == nil { + + err = tree.RemoveEntry([]byte("no-such-entry")) + if err == nil { t.Fatalf("RemoveEntry missing entry should fail") } - if err := tree.InsertEntry(removed); err != nil { + + err = tree.InsertEntry(removed) + if err != nil { t.Fatalf("re-InsertEntry(%q): %v", removed.Name, err) } + if tree.Entry(removed.Name) == nil { t.Fatalf("Entry(%q) should exist after reinsert", removed.Name) } @@ -52,6 +64,7 @@ func TestTreeSerialize(t *testing.T) { if err != nil { t.Fatalf("SerializeWithHeader: %v", err) } + gotTreeID := algo.Sum(rawObj) if gotTreeID != wantTreeID { t.Fatalf("tree id mismatch: got %s want %s", gotTreeID, wantTreeID) |
