From f953d4e5c7c676cd3b3ee797fedce8823b5c930c Mon Sep 17 00:00:00 2001 From: Carlos Martín Nieto Date: Sun, 25 May 2014 18:12:50 +0200 Subject: Index: add functions to handle the data structure Index is not just the index file --- index_test.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'index_test.go') diff --git a/index_test.go b/index_test.go index 5920b93..cd178b9 100644 --- a/index_test.go +++ b/index_test.go @@ -41,6 +41,36 @@ func TestIndexWriteTreeTo(t *testing.T) { } } +func TestIndexAddAndWriteTreeTo(t *testing.T) { + repo := createTestRepo(t) + defer os.RemoveAll(repo.Workdir()) + + odb, err := repo.Odb() + checkFatal(t, err) + + blobID, err := odb.Write([]byte("foo\n"), ObjectBlob) + checkFatal(t, err) + + idx, err := NewIndex() + checkFatal(t, err) + + entry := IndexEntry { + Path: "README", + Id: blobID, + Mode: FilemodeBlob, + } + + err = idx.Add(&entry) + checkFatal(t, err) + + 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