From 7caac1fa7b52eb30df29aa3b460f6511993fafd0 Mon Sep 17 00:00:00 2001 From: Ankur Mittal Date: Wed, 19 Apr 2017 18:36:00 -0700 Subject: Add support for getting short object Id --- object_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'object_test.go') diff --git a/object_test.go b/object_test.go index cb262de..1b188a8 100644 --- a/object_test.go +++ b/object_test.go @@ -1,6 +1,7 @@ package git import ( + "strings" "testing" ) @@ -105,6 +106,32 @@ func TestObjectOwner(t *testing.T) { checkOwner(t, repo, tree.Object) } +func checkShortId(t *testing.T, Id, shortId string) { + if len(shortId) < 7 || len(shortId) >= len(Id) { + t.Fatal("bad shortId lenght %s", len(shortId)) + } + + if !strings.HasPrefix(Id, shortId) { + t.Fatalf("bad shortId, should be prefix of %s, but is %s\n", Id, shortId) + } +} + +func TestObjectShortId(t *testing.T) { + t.Parallel() + repo := createTestRepo(t) + defer cleanupTestRepo(t, repo) + + commitId, _ := seedTestRepo(t, repo) + + commit, err := repo.LookupCommit(commitId) + checkFatal(t, err) + + shortId, err := commit.ShortId() + checkFatal(t, err) + + checkShortId(t, commitId.String(), shortId) +} + func TestObjectPeel(t *testing.T) { t.Parallel() repo := createTestRepo(t) -- cgit v1.2.3