summaryrefslogtreecommitdiff
path: root/merge_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'merge_test.go')
-rw-r--r--merge_test.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/merge_test.go b/merge_test.go
index 319bef3..d49d07c 100644
--- a/merge_test.go
+++ b/merge_test.go
@@ -163,6 +163,15 @@ func TestMergeBase(t *testing.T) {
if mergeBase.Cmp(commitAId) != 0 {
t.Fatalf("unexpected merge base")
}
+}
+
+func TestMergeBases(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ commitAId, _ := seedTestRepo(t, repo)
+ commitBId, _ := appendCommit(t, repo)
mergeBases, err := repo.MergeBases(commitAId, commitBId)
checkFatal(t, err)
@@ -176,6 +185,58 @@ func TestMergeBase(t *testing.T) {
}
}
+func TestMergeBaseMany(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ commitAId, _ := seedTestRepo(t, repo)
+ commitBId, _ := appendCommit(t, repo)
+
+ mergeBase, err := repo.MergeBaseMany([]*Oid{commitAId, commitBId})
+ checkFatal(t, err)
+
+ if mergeBase.Cmp(commitAId) != 0 {
+ t.Fatalf("unexpected merge base")
+ }
+}
+
+func TestMergeBasesMany(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ commitAId, _ := seedTestRepo(t, repo)
+ commitBId, _ := appendCommit(t, repo)
+
+ mergeBases, err := repo.MergeBasesMany([]*Oid{commitAId, commitBId})
+ checkFatal(t, err)
+
+ if len(mergeBases) != 1 {
+ t.Fatalf("expected merge bases len to be 1, got %v", len(mergeBases))
+ }
+
+ if mergeBases[0].Cmp(commitAId) != 0 {
+ t.Fatalf("unexpected merge base")
+ }
+}
+
+func TestMergeBaseOctopus(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ commitAId, _ := seedTestRepo(t, repo)
+ commitBId, _ := appendCommit(t, repo)
+
+ mergeBase, err := repo.MergeBaseOctopus([]*Oid{commitAId, commitBId})
+ checkFatal(t, err)
+
+ if mergeBase.Cmp(commitAId) != 0 {
+ t.Fatalf("unexpected merge base")
+ }
+}
+
func compareBytes(t *testing.T, expected, actual []byte) {
for i, v := range expected {
if actual[i] != v {