diff options
| author | Jesse Ezell <[email protected]> | 2014-03-20 21:56:41 -0700 |
|---|---|---|
| committer | Jesse Ezell <[email protected]> | 2014-03-20 21:56:41 -0700 |
| commit | d0b334b24409ddc190a7010be0072d87df6b6bfe (patch) | |
| tree | fb434c1f8182296b2a80bdf1939e09ddca021e68 /diff_test.go | |
| parent | 9acd67e388b6fccf982c9206dc5326ae35c13f49 (diff) | |
cleanup and refactor diff / patch
Diffstat (limited to 'diff_test.go')
| -rw-r--r-- | diff_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/diff_test.go b/diff_test.go new file mode 100644 index 0000000..15aabc5 --- /dev/null +++ b/diff_test.go @@ -0,0 +1,41 @@ +package git + +import ( + "testing" +) + +func TestDiffTreeToTree(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) + updateReadme(t, repo, "file changed\n") + + _, newTreeId := seedTestRepo(t, repo) + newTree, err := repo.LookupTree(newTreeId) + checkFatal(t, err) + + diff, err := repo.DiffTreeToTree(originalTreeId, newTreeId) + checkFatal(t, err) + + files := make([]string, 0) + + err := diff.ForEachFile(func(file *DiffFile) error { + files = append(files, file.Path) + return nil + }) + + checkFatal(t, err) + + if len(files) != 0 { + t.Fatal("Incorrect number of files in diff") + } + + if files[0] != "README" { + t.Fatal("File in diff was expected to be README") + } +} |
