summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit')
-rw-r--r--org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/CheckoutTest.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/CheckoutTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/CheckoutTest.java
index 4b86b6014e..a98dd1cf98 100644
--- a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/CheckoutTest.java
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/CheckoutTest.java
@@ -71,6 +71,23 @@ import org.junit.Assume;
import org.junit.Test;
public class CheckoutTest extends CLIRepositoryTestCase {
+ /**
+ * Executes specified git command (with arguments), captures exception and
+ * returns its message as an array of lines. Throws an AssertionError if no
+ * exception is thrown.
+ *
+ * @param command
+ * a valid git command line, e.g. "git branch -h"
+ * @return message contained within the exception
+ */
+ private String[] executeExpectingException(String command) {
+ try {
+ execute(command);
+ throw new AssertionError("Expected Die");
+ } catch (Exception e) {
+ return e.getMessage().split(System.lineSeparator());
+ }
+ }
@Test
public void testCheckoutSelf() throws Exception {
@@ -107,7 +124,7 @@ public class CheckoutTest extends CLIRepositoryTestCase {
public void testCheckoutNonExistingBranch() throws Exception {
assertStringArrayEquals(
"error: pathspec 'side' did not match any file(s) known to git.",
- execute("git checkout side"));
+ executeExpectingException("git checkout side"));
}
@Test
@@ -131,7 +148,7 @@ public class CheckoutTest extends CLIRepositoryTestCase {
public void testCheckoutUnresolvedHead() throws Exception {
assertStringArrayEquals(
"error: pathspec 'HEAD' did not match any file(s) known to git.",
- execute("git checkout HEAD"));
+ executeExpectingException("git checkout HEAD"));
}
@Test
@@ -159,7 +176,8 @@ public class CheckoutTest extends CLIRepositoryTestCase {
writeTrashFile("a", "New Hello world a");
git.add().addFilepattern(".").call();
- String[] execute = execute("git checkout branch_1");
+ String[] execute = executeExpectingException(
+ "git checkout branch_1");
assertEquals(
"error: Your local changes to the following files would be overwritten by checkout:",
execute[0]);