package git import ( "testing" ) func TestRevparse(t *testing.T) { repo := createTestRepo(t) defer cleanupTestRepo(t, repo) commitId, _ := seedTestRepo(t, repo) revSpec, err := repo.Revparse("HEAD") checkFatal(t, err) checkObject(t, revSpec.From(), commitId) } func TestRevparseSingle(t *testing.T) { repo := createTestRepo(t) defer cleanupTestRepo(t, repo) commitId, _ := seedTestRepo(t, repo) obj, err := repo.RevparseSingle("HEAD") checkFatal(t, err) checkObject(t, obj, commitId) } func TestRevparseExt(t *testing.T) { repo := createTestRepo(t) defer cleanupTestRepo(t, repo) _, treeId := seedTestRepo(t, repo) ref, err := repo.References.Create("refs/heads/master", treeId, true, "") checkFatal(t, err) obj, ref, err := repo.RevparseExt("master") checkFatal(t, err) checkObject(t, obj, treeId) if ref == nil { t.Fatalf("bad reference") } } func checkObject(t *testing.T, obj Object, id *Oid) { if obj == nil { t.Fatalf("bad object") } if !obj.Id().Equal(id) { t.Fatalf("bad object, expected %s, got %s", id.String(), obj.Id().String()) } }