summaryrefslogtreecommitdiff
path: root/test/git/test_diff.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2009-10-18 12:33:06 +0200
committerSebastian Thiel <byronimo@gmail.com>2009-10-18 12:33:06 +0200
commit9946e0ce07c8d93a43bd7b8900ddf5d913fe3b03 (patch)
tree92bc467fe690a6d7efb3a28d5d0103eeb26fd292 /test/git/test_diff.py
parenta5cf1bc1d3e38ab32a20707d66b08f1bb0beae91 (diff)
downloadgitpython-9946e0ce07c8d93a43bd7b8900ddf5d913fe3b03.tar.gz
implemented diff tests, but will have to move the diff module as it needs to create objects, whose import would create a dependency cycle
Diffstat (limited to 'test/git/test_diff.py')
-rw-r--r--test/git/test_diff.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/git/test_diff.py b/test/git/test_diff.py
index ea83145d..166ce310 100644
--- a/test/git/test_diff.py
+++ b/test/git/test_diff.py
@@ -28,5 +28,35 @@ class TestDiff(TestCase):
assert_equal(diff.rename_from, 'AUTHORS')
assert_equal(diff.rename_to, 'CONTRIBUTORS')
+ 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
+ fixtures = ("diff_2", "diff_2f", "diff_f", "diff_i", "diff_mode_only",
+ "diff_new_mode", "diff_numstat", "diff_p", "diff_rename",
+ "diff_tree_numstat_root" )
+
+ for fixture_name in fixtures:
+ diff_proc = ListProcessAdapter(fixture(fixture_name))
+ diffs = Diff._index_from_patch_format(self.repo, diff_proc.stdout)
+ # END for each fixture
+
def test_diff_interface(self):
+ # test a few variations of the main diff routine
+ for i, commit in enumerate(self.repo.iter_commits('0.1.6', max_count=10)):
+ diff_item = commit
+ if i%2 == 0:
+ diff_item = commit.tree
+ # END use tree every second item
+
+ for other in (None, commit.parents[0]):
+ for paths in (None, "CHANGES", ("CHANGES", "lib")):
+ for create_patch in range(2):
+ diff_index = diff_item.diff(other, paths, create_patch)
+ assert diff_index
+ # END for each patch option
+ # END for each path option
+ # END for each other side
+ # END for each commit
+
+
self.fail( "TODO: Test full diff interface on commits, trees, index, patch and non-patch" )