diff options
Diffstat (limited to 'object_test.go')
| -rw-r--r-- | object_test.go | 27 |
1 files changed, 27 insertions, 0 deletions
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) |
