diff options
author | Robin Rosenberg <robin.rosenberg@dewire.com> | 2011-05-05 00:26:39 +0200 |
---|---|---|
committer | Robin Rosenberg <robin.rosenberg@dewire.com> | 2011-05-13 23:45:54 +0200 |
commit | e9311e526c1ddff33cb7fc09578909ae9441ecd6 (patch) | |
tree | 80cf7a4149d563e11d75a03a8a1274d5e9296c86 | |
parent | e2413ce2f65b965a706621b50865cfda8c395c4f (diff) | |
download | jgit-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>
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java | 33 |
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()); } /** |