diff options
author | Patrick Pfeifer <p2000@mailinator.com> | 2012-06-16 14:34:45 +0200 |
---|---|---|
committer | Patrick Pfeifer <p2000@mailinator.com> | 2012-06-16 14:34:45 +0200 |
commit | 3da67f3c498e607e9bc5f9e24564763402303f39 (patch) | |
tree | 719bb37f59b2cefa4d058f3cc8c16d55ed45d79e /git/test/test_diff.py | |
parent | 8dc98aa77f93f10cfac27c8477fa04a5ce506829 (diff) | |
download | gitpython-3da67f3c498e607e9bc5f9e24564763402303f39.tar.gz |
add tests for git.diff.Diff._index_from_raw_format()
Diffstat (limited to 'git/test/test_diff.py')
-rw-r--r-- | git/test/test_diff.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/git/test/test_diff.py b/git/test/test_diff.py index 79f038e8..55ad3379 100644 --- a/git/test/test_diff.py +++ b/git/test/test_diff.py @@ -51,6 +51,19 @@ class TestDiff(TestBase): assert_equal(diff.rename_from, 'AUTHORS') assert_equal(diff.rename_to, 'CONTRIBUTORS') + def test_diff_with_rename_raw(self): + output = StringProcessAdapter(fixture('diff_rename_raw')) + diffs = Diff._index_from_raw_format(self.rorepo, output.stdout) + self._assert_diff_format(diffs) + + diffs = filter(lambda d: d.renamed, diffs) + assert_equal(3, len(diffs)) + + diff = diffs[0] + assert_true(diff.renamed) + assert_equal(diff.rename_from, 'git/test/test_reflog.py') + assert_equal(diff.rename_to, 'git/test/refs/test_reflog.py') + def test_diff_patch_format(self): # test all of the 'old' format diffs for completness - it should at least # be able to deal with it @@ -98,6 +111,14 @@ class TestDiff(TestBase): # END for each path option # END for each other side # END for each commit + + # test rename detection + rename_commit = self.rorepo.rev_parse('4772fe0') + rename_diffs = rename_commit.parents[0].diff(rename_commit, M=True) + rename_diffs = filter(lambda d: d.renamed, rename_diffs) + assert len(rename_diffs) == 3 + assert rename_diffs[0].rename_from == rename_diffs[0].a_blob.path + assert rename_diffs[0].rename_to == rename_diffs[0].b_blob.path # assert we could always find at least one instance of the members we # can iterate in the diff index - if not this indicates its not working correctly |