diff options
| author | Carlos Martín Nieto <[email protected]> | 2014-08-26 12:35:17 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2014-08-26 12:35:17 +0200 |
| commit | 0f79d63fd51b0baf9900fecccb0a11d06b1a7bbc (patch) | |
| tree | 26d3ad3b3771759bf32991fe5db73afbddc16a25 /revparse_test.go | |
| parent | 1377c8f3d20c126f88eaba9012a23109c0ca4bfb (diff) | |
| parent | 0d585802492b33b1eae28755b034d8e0f2999657 (diff) | |
Merge calvera/rev-parse
Diffstat (limited to 'revparse_test.go')
| -rw-r--r-- | revparse_test.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/revparse_test.go b/revparse_test.go new file mode 100644 index 0000000..c046a20 --- /dev/null +++ b/revparse_test.go @@ -0,0 +1,58 @@ +package git + +import ( + "os" + "testing" +) + +func TestRevparse(t *testing.T) { + repo := createTestRepo(t) + defer os.RemoveAll(repo.Workdir()) + + 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 os.RemoveAll(repo.Workdir()) + + 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 os.RemoveAll(repo.Workdir()) + + _, treeId := seedTestRepo(t, repo) + + ref, err := repo.CreateReference("refs/heads/master", treeId, true, nil, "") + 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()) + } +} |
