summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CheckoutCommandTest.java17
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/ReflogReaderTest.java22
2 files changed, 39 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CheckoutCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CheckoutCommandTest.java
index 21fbe0a134..6e9f851793 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CheckoutCommandTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CheckoutCommandTest.java
@@ -47,6 +47,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -239,4 +240,20 @@ public class CheckoutCommandTest extends RepositoryTestCase {
fail(e.getMessage());
}
}
+
+ @Test
+ public void testDetachedHeadOnCheckout() throws JGitInternalException,
+ RefAlreadyExistsException, RefNotFoundException,
+ InvalidRefNameException, IOException {
+ CheckoutCommand co = git.checkout();
+ co.setName("master").call();
+
+ String commitId = db.getRef(Constants.MASTER).getObjectId().name();
+ co = git.checkout();
+ co.setName(commitId).call();
+
+ Ref head = db.getRef(Constants.HEAD);
+ assertFalse(head.isSymbolic());
+ assertSame(head, head.getTarget());
+ }
}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/ReflogReaderTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/ReflogReaderTest.java
index 64333fc751..24c6aebaf2 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/ReflogReaderTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/ReflogReaderTest.java
@@ -83,6 +83,9 @@ public class ReflogReaderTest extends SampleDataRepositoryTestCase {
static byte[] headLine = "3333333333333333333333333333333333333333 3e7549db262d1e836d9bf0af7e22355468f1717c A U Thor <thor@committer.au> 1243028201 -0100\tbranch: change to HEAD\n"
.getBytes();
+ static byte[] oneLineWithoutComment = "da85355dfc525c9f6f3927b876f379f46ccf826e 3e7549db262d1e836d9bf0af7e22355468f1717c A O Thor Too <authortoo@wri.tr> 1243028200 +0200\n"
+ .getBytes();
+
@Test
public void testReadOneLine() throws Exception {
setupReflog("logs/refs/heads/master", oneLine);
@@ -185,6 +188,25 @@ public class ReflogReaderTest extends SampleDataRepositoryTestCase {
}
@Test
+ public void testReadLineWithMissingComment() throws Exception {
+ setupReflog("logs/refs/heads/master", oneLineWithoutComment);
+ final ReflogReader reader = db.getReflogReader("master");
+ Entry e = reader.getLastEntry();
+ assertEquals(ObjectId
+ .fromString("da85355dfc525c9f6f3927b876f379f46ccf826e"), e
+ .getOldId());
+ assertEquals(ObjectId
+ .fromString("3e7549db262d1e836d9bf0af7e22355468f1717c"), e
+ .getNewId());
+ assertEquals("A O Thor Too", e.getWho().getName());
+ assertEquals("authortoo@wri.tr", e.getWho().getEmailAddress());
+ assertEquals(120, e.getWho().getTimeZoneOffset());
+ assertEquals("2009-05-22T23:36:40", iso(e.getWho()));
+ assertEquals("",
+ e.getComment());
+ }
+
+ @Test
public void testNoLog() throws Exception {
assertEquals(0, db.getReflogReader("master").getReverseEntries().size());
assertNull(db.getReflogReader("master").getLastEntry());