summaryrefslogtreecommitdiff
path: root/revert_test.go
diff options
context:
space:
mode:
authorlhchavez <[email protected]>2020-02-23 14:49:04 +0000
committerlhchavez <[email protected]>2020-02-23 14:49:04 +0000
commit627447092fa24035ed3cd4cf31932dbef6f5a57f (patch)
tree48a9122be45522cf1ec72535cec18fd701db55d2 /revert_test.go
parent03339f731aba66baacab3fd67e7b2d185cdacb33 (diff)
parent06764f48dce903bf95701c6ef75ad0fe46c0dedf (diff)
Merge remote-tracking branch 'upstream/master' into more-annotated-commit
Diffstat (limited to 'revert_test.go')
-rw-r--r--revert_test.go76
1 files changed, 76 insertions, 0 deletions
diff --git a/revert_test.go b/revert_test.go
new file mode 100644
index 0000000..fcf8e43
--- /dev/null
+++ b/revert_test.go
@@ -0,0 +1,76 @@
+package git
+
+import (
+ "testing"
+)
+
+const (
+ expectedRevertedReadmeContents = "foo\n"
+)
+
+func TestRevert(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ seedTestRepo(t, repo)
+ commitID, _ := updateReadme(t, repo, content)
+
+ commit, err := repo.LookupCommit(commitID)
+ checkFatal(t, err)
+
+ revertOptions, err := DefaultRevertOptions()
+ checkFatal(t, err)
+
+ err = repo.Revert(commit, &revertOptions)
+ checkFatal(t, err)
+
+ actualReadmeContents := readReadme(t, repo)
+
+ if actualReadmeContents != expectedRevertedReadmeContents {
+ t.Fatalf(`README has incorrect contents after revert. Expected: "%v", Actual: "%v"`,
+ expectedRevertedReadmeContents, actualReadmeContents)
+ }
+
+ state := repo.State()
+ if state != RepositoryStateRevert {
+ t.Fatalf("Incorrect repository state. Expected: %v, Actual: %v", RepositoryStateRevert, state)
+ }
+
+ err = repo.StateCleanup()
+ checkFatal(t, err)
+
+ state = repo.State()
+ if state != RepositoryStateNone {
+ t.Fatalf("Incorrect repository state. Expected: %v, Actual: %v", RepositoryStateNone, state)
+ }
+}
+
+func TestRevertCommit(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ seedTestRepo(t, repo)
+ commitID, _ := updateReadme(t, repo, content)
+
+ commit, err := repo.LookupCommit(commitID)
+ checkFatal(t, err)
+
+ revertOptions, err := DefaultRevertOptions()
+ checkFatal(t, err)
+
+ index, err := repo.RevertCommit(commit, commit, 0, &revertOptions.MergeOpts)
+ checkFatal(t, err)
+ defer index.Free()
+
+ err = repo.CheckoutIndex(index, &revertOptions.CheckoutOpts)
+ checkFatal(t, err)
+
+ actualReadmeContents := readReadme(t, repo)
+
+ if actualReadmeContents != expectedRevertedReadmeContents {
+ t.Fatalf(`README has incorrect contents after revert. Expected: "%v", Actual: "%v"`,
+ expectedRevertedReadmeContents, actualReadmeContents)
+ }
+}