summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorRobin Rosenberg <robin.rosenberg@dewire.com>2011-05-05 00:26:39 +0200
committerRobin Rosenberg <robin.rosenberg@dewire.com>2011-05-13 23:45:54 +0200
commite9311e526c1ddff33cb7fc09578909ae9441ecd6 (patch)
tree80cf7a4149d563e11d75a03a8a1274d5e9296c86 /org.eclipse.jgit.test
parente2413ce2f65b965a706621b50865cfda8c395c4f (diff)
downloadjgit-e9311e526c1ddff33cb7fc09578909ae9441ecd6.tar.gz
jgit-e9311e526c1ddff33cb7fc09578909ae9441ecd6.zip
Add test for reflog part of ResetCommand
The reflog message fix was done in I4f1c3cd6b2cf543be213f061afb94223062dde51 Change-Id: I44817ccf4bf226ed3e4ce6fb2d923e88788221dd Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java
index b886432a39..578b98170f 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java
@@ -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());
}
/**