summaryrefslogtreecommitdiff
path: root/test/git/test_index.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/git/test_index.py')
-rw-r--r--test/git/test_index.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/git/test_index.py b/test/git/test_index.py
index 9eed5678..95f2b519 100644
--- a/test/git/test_index.py
+++ b/test/git/test_index.py
@@ -527,3 +527,33 @@ class TestIndex(TestBase):
# dir into dir
rval = index.move(['doc', 'test'])
assert_mv_rval(rval)
+
+
+ # TEST PATH REWRITING
+ ######################
+ count = [0]
+ def rewriter(entry):
+ rval = str(count[0])
+ count[0] += 1
+ return rval
+ # END rewriter
+
+ def make_paths():
+ # two existing ones, one new one
+ yield 'CHANGES'
+ yield 'ez_setup.py'
+ yield index.entries[index.get_entries_key('README', 0)]
+ yield index.entries[index.get_entries_key('.gitignore', 0)]
+
+ for fid in range(3):
+ fname = 'newfile%i' % fid
+ open(fname, 'wb').write("abcd")
+ yield Blob(rw_repo, Blob.NULL_HEX_SHA, 0100644, fname)
+ # END for each new file
+ # END path producer
+ paths = list(make_paths())
+ index.add(paths, path_rewriter=rewriter)
+
+ for filenum in range(len(paths)):
+ assert index.get_entries_key(str(filenum), 0) in index.entries
+