summaryrefslogtreecommitdiff
path: root/tree_test.go
diff options
context:
space:
mode:
authorCalin Seciu <[email protected]>2016-02-20 14:52:57 +0200
committerCalin Seciu <[email protected]>2016-02-20 14:52:57 +0200
commitc6f394e407a8f119eea191e1321f61828921f164 (patch)
tree6b4ab4bbd263388f0384b029b2a770189782b9d0 /tree_test.go
parentdc4409793db0205ce7c0783a10363d7d67aee674 (diff)
parent251d89e1d41037185df0ea89e9aab208efc40d4e (diff)
Merge branch 'next' into stash-support
Diffstat (limited to 'tree_test.go')
-rw-r--r--tree_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/tree_test.go b/tree_test.go
index 4c6a4ed..fae395a 100644
--- a/tree_test.go
+++ b/tree_test.go
@@ -20,3 +20,44 @@ func TestTreeEntryById(t *testing.T) {
t.Fatalf("entry id %v was not found", id)
}
}
+
+func TestTreeBuilderInsert(t *testing.T) {
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ subTree, err := repo.TreeBuilder()
+ if err != nil {
+ t.Fatalf("TreeBuilder: %v", err)
+ }
+ defer subTree.Free()
+
+ odb, err := repo.Odb()
+ if err != nil {
+ t.Fatalf("repo.Odb: %v", err)
+ }
+ blobId, err := odb.Write([]byte("hello"), ObjectBlob)
+ if err != nil {
+ t.Fatalf("odb.Write: %v", err)
+ }
+ if err = subTree.Insert("subfile", blobId, FilemodeBlobExecutable); err != nil {
+ t.Fatalf("TreeBuilder.Insert: %v", err)
+ }
+ treeID, err := subTree.Write()
+ if err != nil {
+ t.Fatalf("TreeBuilder.Write: %v", err)
+ }
+
+ tree, err := repo.LookupTree(treeID)
+ if err != nil {
+ t.Fatalf("LookupTree: %v", err)
+ }
+
+ entry, err := tree.EntryByPath("subfile")
+ if err != nil {
+ t.Fatalf("tree.EntryByPath(%q): %v", "subfile", err)
+ }
+
+ if !entry.Id.Equal(blobId) {
+ t.Fatalf("got oid %v, want %v", entry.Id, blobId)
+ }
+}