@ -1,5 +1,5 @@
/ *
* Copyright ( C ) 2010 , Google Inc .
* Copyright ( C ) 2010 , 2013 Google Inc .
* and other copyright owners as documented in the project ' s IP log .
*
* This program and the accompanying materials are made available
@ -256,6 +256,35 @@ public class DiffFormatterTest extends RepositoryTestCase {
assertEquals ( 0 , hh . toEditList ( ) . size ( ) ) ;
}
@Test
public void testCreateFileHeaderWithoutIndexLine ( ) throws Exception {
DiffEntry m = DiffEntry . modify ( PATH_A ) ;
m . oldMode = FileMode . REGULAR_FILE ;
m . newMode = FileMode . EXECUTABLE_FILE ;
FileHeader fh = df . toFileHeader ( m ) ;
String expected = DIFF + "a/src/a b/src/a\n" + //
"old mode 100644\n" + //
"new mode 100755\n" ;
assertEquals ( expected , fh . getScriptText ( ) ) ;
}
@Test
public void testCreateFileHeaderForRenameWithoutContentChange ( ) throws Exception {
DiffEntry a = DiffEntry . delete ( PATH_A , ObjectId . zeroId ( ) ) ;
DiffEntry b = DiffEntry . add ( PATH_B , ObjectId . zeroId ( ) ) ;
DiffEntry m = DiffEntry . pair ( ChangeType . RENAME , a , b , 100 ) ;
m . oldId = null ;
m . newId = null ;
FileHeader fh = df . toFileHeader ( m ) ;
String expected = DIFF + "a/src/a b/src/b\n" + //
"similarity index 100%\n" + //
"rename from src/a\n" + //
"rename to src/b\n" ;
assertEquals ( expected , fh . getScriptText ( ) ) ;
}
@Test
public void testDiff ( ) throws Exception {
write ( new File ( db . getDirectory ( ) . getParent ( ) , "test.txt" ) , "test" ) ;