diff options
author | Cedric Beust <cedric@beust.com> | 2012-08-01 08:50:32 -0700 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2012-08-01 08:50:32 -0700 |
commit | 2c092c0c1966a21f1b585eac22b4e36045a43549 (patch) | |
tree | 4b7ce7d71fdfed50cc4ada18a1cb46777d57eb12 /src/test/java/com | |
parent | 14bcad3aea8700c3cd3fc9f5b380355b074c94c7 (diff) | |
download | jcommander-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.java | 58 |
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; |