summaryrefslogtreecommitdiff
path: root/patch_test.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-04-26 20:51:21 +0200
committerCarlos Martín Nieto <[email protected]>2014-04-26 20:51:21 +0200
commit5809f031087e5665549de3355034b193f7c13853 (patch)
treef6b673a2893649b95ea7d157db0e4b43ce9e0e19 /patch_test.go
parent4df7eb516c7c73f82a62a8bdb2ac33f2b73ab981 (diff)
parent63fd1f9b032c92b330948cd66dfa0b677d982d03 (diff)
Merge commit 'refs/pull/72/head' of github.com:libgit2/git2go
Conflicts: git.go wrapper.c
Diffstat (limited to 'patch_test.go')
-rw-r--r--patch_test.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/patch_test.go b/patch_test.go
new file mode 100644
index 0000000..569eac2
--- /dev/null
+++ b/patch_test.go
@@ -0,0 +1,34 @@
+package git
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestPatch(t *testing.T) {
+ repo := createTestRepo(t)
+ defer repo.Free()
+ //defer os.RemoveAll(repo.Workdir())
+
+ _, originalTreeId := seedTestRepo(t, repo)
+ originalTree, err := repo.LookupTree(originalTreeId)
+
+ checkFatal(t, err)
+
+ _, newTreeId := updateReadme(t, repo, "file changed\n")
+
+ newTree, err := repo.LookupTree(newTreeId)
+ checkFatal(t, err)
+
+ diff, err := repo.DiffTreeToTree(originalTree, newTree, nil)
+ checkFatal(t, err)
+
+ patch, err := diff.Patch(0)
+ checkFatal(t, err)
+
+ patchStr, err := patch.String()
+ checkFatal(t, err)
+ if strings.Index(patchStr, "diff --git a/README b/README\nindex 257cc56..820734a 100644\n--- a/README\n+++ b/README\n@@ -1 +1 @@\n-foo\n+file changed") == -1 {
+ t.Fatalf("patch was bad")
+ }
+}