summaryrefslogtreecommitdiff
path: root/src/test/java/com
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2012-08-01 08:50:32 -0700
committerCedric Beust <cedric@beust.com>2012-08-01 08:50:32 -0700
commit2c092c0c1966a21f1b585eac22b4e36045a43549 (patch)
tree4b7ce7d71fdfed50cc4ada18a1cb46777d57eb12 /src/test/java/com
parent14bcad3aea8700c3cd3fc9f5b380355b074c94c7 (diff)
downloadjcommander-2c092c0c1966a21f1b585eac22b4e36045a43549.tar.gz
Added: JCommander#allowAbbreviatedOptions (default: false)
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/beust/jcommander/JCommanderTest.java58
1 files changed, 57 insertions, 1 deletions
diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java
index c380721..fa79d1f 100644
--- a/src/test/java/com/beust/jcommander/JCommanderTest.java
+++ b/src/test/java/com/beust/jcommander/JCommanderTest.java
@@ -884,9 +884,65 @@ public class JCommanderTest {
Assert.assertEquals(command, "--configure");
}
+ public void abbreviatedOptions() {
+ class Arg {
+ @Parameter(names = { "-p", "--param" })
+ private String param;
+ }
+ Arg a = new Arg();
+ JCommander jc = new JCommander(a);
+ jc.setAllowAbbreviatedOptions(true);
+ jc.parse(new String[] { "--par", "foo" });
+ Assert.assertEquals(a.param, "foo");
+ }
+
+ public void abbreviatedOptionsCaseInsensitive() {
+ class Arg {
+ @Parameter(names = { "-p", "--param" })
+ private String param;
+ }
+ Arg a = new Arg();
+ JCommander jc = new JCommander(a);
+ jc.setCaseSensitiveOptions(false);
+ jc.setAllowAbbreviatedOptions(true);
+ jc.parse(new String[] { "--PAR", "foo" });
+ Assert.assertEquals(a.param, "foo");
+ }
+
+ @Test(expectedExceptions = ParameterException.class)
+ public void ambiguousAbbreviatedOptions() {
+ class Arg {
+ @Parameter(names = { "--param" })
+ private String param;
+ @Parameter(names = { "--parb" })
+ private String parb;
+ }
+ Arg a = new Arg();
+ JCommander jc = new JCommander(a);
+ jc.setAllowAbbreviatedOptions(true);
+ jc.parse(new String[] { "--par", "foo" });
+ Assert.assertEquals(a.param, "foo");
+ }
+
+ @Test(expectedExceptions = ParameterException.class)
+ public void ambiguousAbbreviatedOptionsCaseInsensitive() {
+ class Arg {
+ @Parameter(names = { "--param" })
+ private String param;
+ @Parameter(names = { "--parb" })
+ private String parb;
+ }
+ Arg a = new Arg();
+ JCommander jc = new JCommander(a);
+ jc.setCaseSensitiveOptions(false);
+ jc.setAllowAbbreviatedOptions(true);
+ jc.parse(new String[] { "--PAR", "foo" });
+ Assert.assertEquals(a.param, "foo");
+ }
+
@Test(enabled = false)
public static void main(String[] args) throws Exception {
- new JCommanderTest().caseInsensitiveCommand();
+ new JCommanderTest().ambiguousAbbreviatedOptionsCaseInsensitive();
// class A {
// @Parameter(names = "-short", required = true)
// List<String> parameters;