@ -42,6 +42,7 @@
* /
package org.eclipse.jgit.api ;
import static org.junit.Assert.assertEquals ;
import static org.junit.Assert.assertFalse ;
import static org.junit.Assert.assertTrue ;
@ -116,6 +117,7 @@ public class ResetCommandTest extends RepositoryTestCase {
NoHeadException , NoMessageException , ConcurrentRefUpdateException ,
WrongRepositoryStateException {
setupRepository ( ) ;
ObjectId prevHead = db . resolve ( Constants . HEAD ) ;
git . reset ( ) . setMode ( ResetType . HARD ) . setRef ( initialCommit . getName ( ) )
. call ( ) ;
// check if HEAD points to initial commit now
@ -128,6 +130,7 @@ public class ResetCommandTest extends RepositoryTestCase {
String fileInIndexPath = indexFile . getAbsolutePath ( ) ;
assertFalse ( inHead ( fileInIndexPath ) ) ;
assertFalse ( inIndex ( indexFile . getName ( ) ) ) ;
assertReflog ( prevHead , head ) ;
}
@Test
@ -136,6 +139,7 @@ public class ResetCommandTest extends RepositoryTestCase {
NoHeadException , NoMessageException , ConcurrentRefUpdateException ,
WrongRepositoryStateException {
setupRepository ( ) ;
ObjectId prevHead = db . resolve ( Constants . HEAD ) ;
git . reset ( ) . setMode ( ResetType . SOFT ) . setRef ( initialCommit . getName ( ) )
. call ( ) ;
// check if HEAD points to initial commit now
@ -148,6 +152,7 @@ public class ResetCommandTest extends RepositoryTestCase {
String fileInIndexPath = indexFile . getAbsolutePath ( ) ;
assertFalse ( inHead ( fileInIndexPath ) ) ;
assertTrue ( inIndex ( indexFile . getName ( ) ) ) ;
assertReflog ( prevHead , head ) ;
}
@Test
@ -156,6 +161,7 @@ public class ResetCommandTest extends RepositoryTestCase {
NoHeadException , NoMessageException , ConcurrentRefUpdateException ,
WrongRepositoryStateException {
setupRepository ( ) ;
ObjectId prevHead = db . resolve ( Constants . HEAD ) ;
git . reset ( ) . setMode ( ResetType . MIXED ) . setRef ( initialCommit . getName ( ) )
. call ( ) ;
// check if HEAD points to initial commit now
@ -168,6 +174,33 @@ public class ResetCommandTest extends RepositoryTestCase {
String fileInIndexPath = indexFile . getAbsolutePath ( ) ;
assertFalse ( inHead ( fileInIndexPath ) ) ;
assertFalse ( inIndex ( indexFile . getName ( ) ) ) ;
assertReflog ( prevHead , head ) ;
}
private void assertReflog ( ObjectId prevHead , ObjectId head )
throws IOException {
// Check the reflog for HEAD
String actualHeadMessage = db . getReflogReader ( Constants . HEAD )
. getLastEntry ( ) . getComment ( ) ;
String expectedHeadMessage = head . getName ( ) + ": updating HEAD" ;
assertEquals ( expectedHeadMessage , actualHeadMessage ) ;
assertEquals ( head . getName ( ) , db . getReflogReader ( Constants . HEAD )
. getLastEntry ( ) . getNewId ( ) . getName ( ) ) ;
assertEquals ( prevHead . getName ( ) , db
. getReflogReader ( Constants . HEAD ) . getLastEntry ( ) . getOldId ( )
. getName ( ) ) ;
// The reflog for master contains the same as the one for HEAD
String actualMasterMessage = db . getReflogReader ( "refs/heads/master" )
. getLastEntry ( ) . getComment ( ) ;
String expectedMasterMessage = head . getName ( ) + ": updating HEAD" ; // yes!
assertEquals ( expectedMasterMessage , actualMasterMessage ) ;
assertEquals ( head . getName ( ) , db . getReflogReader ( Constants . HEAD )
. getLastEntry ( ) . getNewId ( ) . getName ( ) ) ;
assertEquals ( prevHead . getName ( ) ,
db . getReflogReader ( "refs/heads/master" ) . getLastEntry ( )
. getOldId ( ) . getName ( ) ) ;
}
/ * *