42 lines
820 B
Go
42 lines
820 B
Go
|
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")
|
||
|
}
|
||
|
}
|