From 9d37f817648cac252194816751cd383ae3586883 Mon Sep 17 00:00:00 2001 From: Lucas Clemente Date: Wed, 22 Oct 2014 00:23:12 +0200 Subject: implemented Index.AddAll, Index.RemoveAll, Index.UpdateAll --- index_test.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) (limited to 'index_test.go') diff --git a/index_test.go b/index_test.go index cd178b9..98d9a31 100644 --- a/index_test.go +++ b/index_test.go @@ -1,6 +1,7 @@ package git import ( + "io/ioutil" "os" "runtime" "testing" @@ -54,9 +55,9 @@ func TestIndexAddAndWriteTreeTo(t *testing.T) { idx, err := NewIndex() checkFatal(t, err) - entry := IndexEntry { + entry := IndexEntry{ Path: "README", - Id: blobID, + Id: blobID, Mode: FilemodeBlob, } @@ -71,6 +72,55 @@ func TestIndexAddAndWriteTreeTo(t *testing.T) { } } +func TestIndexAddAllNoCallback(t *testing.T) { + repo := createTestRepo(t) + defer os.RemoveAll(repo.Workdir()) + + err := ioutil.WriteFile(repo.Workdir()+"/README", []byte("foo\n"), 0644) + checkFatal(t, err) + + idx, err := repo.Index() + checkFatal(t, err) + + err = idx.AddAll([]string{}, IndexAddDefault, nil) + checkFatal(t, err) + + treeId, err := idx.WriteTreeTo(repo) + checkFatal(t, err) + + if treeId.String() != "b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e" { + t.Fatalf("%v", treeId.String()) + } +} + +func TestIndexAddAllCallback(t *testing.T) { + repo := createTestRepo(t) + defer os.RemoveAll(repo.Workdir()) + + err := ioutil.WriteFile(repo.Workdir()+"/README", []byte("foo\n"), 0644) + checkFatal(t, err) + + idx, err := repo.Index() + checkFatal(t, err) + + cbPath := "" + err = idx.AddAll([]string{}, IndexAddDefault, func(p, mP string) int { + cbPath = p + return 0 + }) + checkFatal(t, err) + if cbPath != "README" { + t.Fatalf("%v", cbPath) + } + + treeId, err := idx.WriteTreeTo(repo) + checkFatal(t, err) + + if treeId.String() != "b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e" { + t.Fatalf("%v", treeId.String()) + } +} + func checkFatal(t *testing.T, err error) { if err == nil { return -- cgit v1.2.3