@@ -238,6 +238,55 @@ def test_extract_tree_recursive(self):
238238 check_no_error (result )
239239 check_files (test_dir , expected )
240240
241+ def test_extract_tree_recursive_replace_originals (self ):
242+ expected = (
243+ 'a/a.txt' ,
244+ 'a/a.tar.gz/a/b/a.txt' ,
245+ 'a/a.tar.gz/a/b/b.txt' ,
246+ 'a/a.tar.gz/a/c/c.txt' ,
247+ 'b/a.txt' ,
248+ 'b/b.tar.gz/b/.svn/all-wcprops' ,
249+ 'b/b.tar.gz/b/.svn/entries' ,
250+ 'b/b.tar.gz/b/.svn/format' ,
251+ 'b/b.tar.gz/b/a/a.txt' ,
252+ 'b/b.tar.gz/b/a/.svn/all-wcprops' ,
253+ 'b/b.tar.gz/b/a/.svn/entries' ,
254+ 'b/b.tar.gz/b/a/.svn/format' ,
255+ 'b/b.tar.gz/b/a/.svn/prop-base/a.tar.gz.svn-base' ,
256+ 'b/b.tar.gz/b/a/.svn/text-base/a.tar.gz.svn-base' ,
257+ 'b/b.tar.gz/b/a/.svn/text-base/a.txt.svn-base' ,
258+ 'b/b.tar.gz/b/a/a.tar.gz/a/b/a.txt' ,
259+ 'b/b.tar.gz/b/a/a.tar.gz/a/b/b.txt' ,
260+ 'b/b.tar.gz/b/a/a.tar.gz/a/c/c.txt' ,
261+ 'b/b.tar.gz/b/b/a.txt' ,
262+ 'b/b.tar.gz/b/b/.svn/all-wcprops' ,
263+ 'b/b.tar.gz/b/b/.svn/entries' ,
264+ 'b/b.tar.gz/b/b/.svn/format' ,
265+ 'b/b.tar.gz/b/b/.svn/text-base/a.txt.svn-base' ,
266+ 'b/b.tar.gz/b/c/a.txt' ,
267+ 'b/b.tar.gz/b/c/.svn/all-wcprops' ,
268+ 'b/b.tar.gz/b/c/.svn/entries' ,
269+ 'b/b.tar.gz/b/c/.svn/format' ,
270+ 'b/b.tar.gz/b/c/.svn/prop-base/a.tar.gz.svn-base' ,
271+ 'b/b.tar.gz/b/c/.svn/text-base/a.tar.gz.svn-base' ,
272+ 'b/b.tar.gz/b/c/.svn/text-base/a.txt.svn-base' ,
273+ 'b/b.tar.gz/b/c/a.tar.gz/a/b/a.txt' ,
274+ 'b/b.tar.gz/b/c/a.tar.gz/a/b/b.txt' ,
275+ 'b/b.tar.gz/b/c/a.tar.gz/a/c/c.txt' ,
276+ 'c/a.txt' ,
277+ 'c/a.tar.gz/a/b/a.txt' ,
278+ 'c/a.tar.gz/a/b/b.txt' ,
279+ 'c/a.tar.gz/a/c/c.txt' ,
280+ )
281+ test_dir = self .get_test_loc ('extract/tree' , copy = True )
282+ result = list (extract .extract (test_dir , recurse = True , replace_originals = True ))
283+ check_no_error (result )
284+ check_files (test_dir , expected )
285+ # again
286+ result = list (extract .extract (test_dir , recurse = True ))
287+ check_no_error (result )
288+ check_files (test_dir , expected )
289+
241290 def test_extract_tree_shallow_then_recursive (self ):
242291 shallow = (
243292 'a/a.tar.gz' ,
0 commit comments