diff options
| author | lhchavez <[email protected]> | 2020-02-23 15:08:45 +0000 |
|---|---|---|
| committer | lhchavez <[email protected]> | 2020-02-23 15:08:45 +0000 |
| commit | 3c88bd9f1aebc53ea9d77937829f8c155aa834c3 (patch) | |
| tree | 8556d00fb42f2fcab5ba748e49e21e1141b9d604 /index_test.go | |
| parent | c75e0221d70bc471917aa3de34ca1ead1a747987 (diff) | |
| parent | 21d618136f415486d95965e75af80c0e6688a0d5 (diff) | |
Merge remote-tracking branch 'upstream/master' into cherrypick-commit
Diffstat (limited to 'index_test.go')
| -rw-r--r-- | index_test.go | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/index_test.go b/index_test.go index f47dace..5fa3f9f 100644 --- a/index_test.go +++ b/index_test.go @@ -3,6 +3,7 @@ package git import ( "io/ioutil" "os" + "path" "runtime" "testing" ) @@ -59,14 +60,29 @@ func TestIndexWriteTreeTo(t *testing.T) { repo := createTestRepo(t) defer cleanupTestRepo(t, repo) - repo2 := createTestRepo(t) - defer cleanupTestRepo(t, repo2) + idx, err := NewIndex() + checkFatal(t, err) - idx, err := repo.Index() + odb, err := repo.Odb() checkFatal(t, err) - err = idx.AddByPath("README") + + content, err := ioutil.ReadFile(path.Join(repo.Workdir(), "README")) checkFatal(t, err) - treeId, err := idx.WriteTreeTo(repo2) + + id, err := odb.Write(content, ObjectBlob) + checkFatal(t, err) + + err = idx.Add(&IndexEntry{ + Mode: FilemodeBlob, + Uid: 0, + Gid: 0, + Size: uint32(len(content)), + Id: id, + Path: "README", + }) + checkFatal(t, err) + + treeId, err := idx.WriteTreeTo(repo) checkFatal(t, err) if treeId.String() != "b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e" { @@ -149,6 +165,30 @@ func TestIndexRemoveDirectory(t *testing.T) { } } +func TestIndexAddFromBuffer(t *testing.T) { + t.Parallel() + repo := createTestRepo(t) + defer cleanupTestRepo(t, repo) + + idx, err := repo.Index() + checkFatal(t, err) + + entry := IndexEntry{ + Path: "README", + Mode: FilemodeBlob, + } + + err = idx.AddFromBuffer(&entry, []byte("foo\n")) + checkFatal(t, err) + + treeId, err := idx.WriteTreeTo(repo) + checkFatal(t, err) + + if treeId.String() != "b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e" { + t.Fatalf("%v", treeId.String()) + } +} + func TestIndexAddAllNoCallback(t *testing.T) { t.Parallel() repo := createTestRepo(t) |
