summaryrefslogtreecommitdiff
path: root/diff_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'diff_test.go')
-rw-r--r--diff_test.go32
1 files changed, 22 insertions, 10 deletions
diff --git a/diff_test.go b/diff_test.go
index f3a1ea6..b688294 100644
--- a/diff_test.go
+++ b/diff_test.go
@@ -2,13 +2,14 @@ package git
import (
"errors"
+ "os"
"testing"
)
func TestDiffTreeToTree(t *testing.T) {
repo := createTestRepo(t)
defer repo.Free()
- //defer os.RemoveAll(repo.Workdir())
+ defer os.RemoveAll(repo.Workdir())
_, originalTreeId := seedTestRepo(t, repo)
originalTree, err := repo.LookupTree(originalTreeId)
@@ -20,26 +21,37 @@ func TestDiffTreeToTree(t *testing.T) {
newTree, err := repo.LookupTree(newTreeId)
checkFatal(t, err)
- diff, err := repo.DiffTreeToTree(originalTree, newTree)
+ callbackInvoked := false
+ opts := DiffOptions{
+ NotifyCallback: func(diffSoFar *Diff, delta DiffDelta, matchedPathSpec string) error {
+ callbackInvoked = true
+ return nil
+ },
+ }
+
+ diff, err := repo.DiffTreeToTree(originalTree, newTree, &opts)
checkFatal(t, err)
+ if !callbackInvoked {
+ t.Fatal("callback not invoked")
+ }
if diff == nil {
t.Fatal("no diff returned")
}
files := make([]string, 0)
- hunks := make([]*DiffHunk, 0)
- lines := make([]*DiffLine, 0)
- err = diff.ForEach(func(file *DiffDelta, progress float64) (DiffForEachHunkCallback, error) {
+ hunks := make([]DiffHunk, 0)
+ lines := make([]DiffLine, 0)
+ err = diff.ForEach(func(file DiffDelta, progress float64) (DiffForEachHunkCallback, error) {
files = append(files, file.OldFile.Path)
- return func(hunk *DiffHunk) (DiffForEachLineCallback, error) {
+ return func(hunk DiffHunk) (DiffForEachLineCallback, error) {
hunks = append(hunks, hunk)
- return func(line *DiffLine) error {
+ return func(line DiffLine) error {
lines = append(lines, line)
return nil
}, nil
}, nil
- }, true, true)
+ }, DiffDetailLines)
checkFatal(t, err)
@@ -73,9 +85,9 @@ func TestDiffTreeToTree(t *testing.T) {
errTest := errors.New("test error")
- err = diff.ForEach(func(file *DiffDelta, progress float64) (DiffForEachHunkCallback, error) {
+ err = diff.ForEach(func(file DiffDelta, progress float64) (DiffForEachHunkCallback, error) {
return nil, errTest
- }, false, false)
+ }, DiffDetailLines)
if err != errTest {
t.Fatal("Expected custom error to be returned")