| 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()) |
| } |
| } |