summaryrefslogtreecommitdiff
path: root/src/test/java/com/beust/jcommander/CmdTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/beust/jcommander/CmdTest.java')
-rw-r--r--src/test/java/com/beust/jcommander/CmdTest.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/test/java/com/beust/jcommander/CmdTest.java b/src/test/java/com/beust/jcommander/CmdTest.java
index 6601193..229517d 100644
--- a/src/test/java/com/beust/jcommander/CmdTest.java
+++ b/src/test/java/com/beust/jcommander/CmdTest.java
@@ -17,7 +17,7 @@ public class CmdTest {
@Parameters(commandNames = "--cmd-two")
class CmdTwo {
@Parameter
- List<String> params = new java.util.LinkedList<String>();
+ List<String> params = new java.util.LinkedList<>();
}
public String parseArgs(boolean withDefault, String[] args) {
@@ -35,7 +35,7 @@ public class CmdTest {
// is named "WithoutValidation".
jc.parseWithoutValidation(args);
if (jc.getParsedCommand() == null) {
- LinkedList<String> newArgs = new LinkedList<String>();
+ LinkedList<String> newArgs = new LinkedList<>();
newArgs.add("--cmd-two");
newArgs.addAll(Arrays.asList(args));
jc.parse(newArgs.toArray(new String[0]));
@@ -70,7 +70,12 @@ public class CmdTest {
public void testArgsWithoutDefaultCmdFail(String expected,
boolean requireDefault, String[] args) {
if (requireDefault) {
- parseArgs(false, args);
+ try {
+ parseArgs(false, args);
+ } catch (MissingCommandException e) {
+ Assert.assertEquals(e.getUnknownCommand(), args[0]);
+ throw e;
+ }
} else {
throw new MissingCommandException("irrelevant test case");
}
@@ -83,4 +88,20 @@ public class CmdTest {
Assert.assertEquals(parseArgs(true, args), expected);
}
-} \ No newline at end of file
+ @Test
+ public void testIssue244() throws Exception {
+ class P1 {}
+ class P2 {
+ @Parameter(names = "--hello")
+ private int test;
+ }
+ P1 p1 = new P1();
+ P2 p2 = new P2();
+ JCommander j = new JCommander(p1);
+ j.addCommand("wonderful", p2);
+ j.setAllowAbbreviatedOptions(true);
+ j.parse("wond", "--he", "47");
+ Assert.assertEquals("wonderful", j.getParsedCommand());
+ Assert.assertEquals(47, p2.test);
+ }
+}