@@ -420,17 +420,17 @@ def test_rename_override(self, rw_dir):
420
420
repo = Repo .init (rw_dir )
421
421
file_a = osp .join (rw_dir , "file_a.txt" )
422
422
with open (file_a , "w" , encoding = 'utf-8' ) as outfile :
423
- outfile .write ("hello world" )
423
+ outfile .write ("hello world\n " )
424
424
repo .git .add (Git .polish_url (file_a ))
425
425
repo .git .commit (message = "Added file_a.txt" )
426
426
427
427
# remove file_a.txt
428
428
repo .git .rm (Git .polish_url (file_a ))
429
429
430
- # create and commit file_b.txt
430
+ # create and commit file_b.txt with similarity index of 52
431
431
file_b = osp .join (rw_dir , "file_b.txt" )
432
432
with open (file_b , "w" , encoding = 'utf-8' ) as outfile :
433
- outfile .write ("hello world" )
433
+ outfile .write ("hello world\n hello world " )
434
434
repo .git .add (Git .polish_url (file_b ))
435
435
repo .git .commit (message = "Removed file_a.txt. Added file_b.txt" )
436
436
@@ -458,3 +458,26 @@ def test_rename_override(self, rw_dir):
458
458
diff = diffs [1 ]
459
459
self .assertEqual (True , diff .new_file )
460
460
self .assertEqual ('file_b.txt' , diff .a_path )
461
+
462
+ # check diff with high similarity index
463
+ diffs = commit_b .diff (commit_a , split_single_char_options = False , M = '75%' )
464
+ self .assertEqual (2 , len (diffs ))
465
+
466
+ # check fileA.txt deleted
467
+ diff = diffs [0 ]
468
+ self .assertEqual (True , diff .deleted_file )
469
+ self .assertEqual ('file_a.txt' , diff .a_path )
470
+
471
+ # check fileB.txt added
472
+ diff = diffs [1 ]
473
+ self .assertEqual (True , diff .new_file )
474
+ self .assertEqual ('file_b.txt' , diff .a_path )
475
+
476
+ # check diff with low similarity index
477
+ diffs = commit_b .diff (commit_a , split_single_char_options = False , M = '40%' )
478
+ self .assertEqual (1 , len (diffs ))
479
+ diff = diffs [0 ]
480
+ self .assertEqual (True , diff .renamed_file )
481
+ self .assertEqual ('file_a.txt' , diff .rename_from )
482
+ self .assertEqual ('file_b.txt' , diff .rename_to )
483
+
0 commit comments