summaryrefslogtreecommitdiff
path: root/index_test.go
diff options
context:
space:
mode:
authorlhchavez <[email protected]>2020-02-23 14:49:04 +0000
committerlhchavez <[email protected]>2020-02-23 14:49:04 +0000
commit627447092fa24035ed3cd4cf31932dbef6f5a57f (patch)
tree48a9122be45522cf1ec72535cec18fd701db55d2 /index_test.go
parent03339f731aba66baacab3fd67e7b2d185cdacb33 (diff)
parent06764f48dce903bf95701c6ef75ad0fe46c0dedf (diff)
Merge remote-tracking branch 'upstream/master' into more-annotated-commit
Diffstat (limited to 'index_test.go')
-rw-r--r--index_test.go50
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)