git2go/revparse_test.go

61 lines
1.1 KiB
Go
Raw Normal View History

2014-07-24 17:37:59 -05:00
package git
2014-07-24 19:08:58 -05:00
import (
"testing"
)
2014-08-23 00:36:18 -05:00
func TestRevparse(t *testing.T) {
t.Parallel()
2014-07-24 19:08:58 -05:00
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
2014-07-24 19:08:58 -05:00
commitId, _ := seedTestRepo(t, repo)
2014-08-23 00:36:18 -05:00
revSpec, err := repo.Revparse("HEAD")
2014-07-24 19:08:58 -05:00
checkFatal(t, err)
checkObject(t, revSpec.From(), commitId)
}
2014-08-23 00:36:18 -05:00
func TestRevparseSingle(t *testing.T) {
t.Parallel()
2014-07-24 19:41:10 -05:00
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
2014-07-24 19:41:10 -05:00
commitId, _ := seedTestRepo(t, repo)
2014-08-23 00:36:18 -05:00
obj, err := repo.RevparseSingle("HEAD")
2014-07-24 19:41:10 -05:00
checkFatal(t, err)
checkObject(t, obj, commitId)
}
2014-08-23 00:36:18 -05:00
func TestRevparseExt(t *testing.T) {
t.Parallel()
2014-07-24 23:03:50 -05:00
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
2014-07-24 23:03:50 -05:00
_, treeId := seedTestRepo(t, repo)
ref, err := repo.References.Create("refs/heads/master", treeId, true, "")
2014-07-24 23:03:50 -05:00
checkFatal(t, err)
2014-08-23 00:36:18 -05:00
obj, ref, err := repo.RevparseExt("master")
2014-07-24 23:03:50 -05:00
checkFatal(t, err)
checkObject(t, obj, treeId)
if ref == nil {
t.Fatalf("bad reference")
}
}
func checkObject(t *testing.T, obj *Object, id *Oid) {
2014-07-24 19:08:58 -05:00
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())
}
}