summaryrefslogtreecommitdiff
path: root/src/test/java/com/beust/jcommander/DefaultProviderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/beust/jcommander/DefaultProviderTest.java')
-rw-r--r--src/test/java/com/beust/jcommander/DefaultProviderTest.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/DefaultProviderTest.java b/src/test/java/com/beust/jcommander/DefaultProviderTest.java
index 45ab6b6..45fad38 100644
--- a/src/test/java/com/beust/jcommander/DefaultProviderTest.java
+++ b/src/test/java/com/beust/jcommander/DefaultProviderTest.java
@@ -117,4 +117,24 @@ public class DefaultProviderTest {
Assert.assertEquals(a.log.intValue(), 19);
}
+ @Test
+ public void missingRequiredParameterWithDefaultValueProviderShouldNotRaiseParameterException() {
+ class ArgsRequired {
+ @Parameter(names = "-log", description = "Level of verbosity", required = true)
+ public Integer log;
+ }
+
+ IDefaultProvider defaultProvider = new IDefaultProvider() {
+ public String getDefaultValueFor(String optionName) {
+ return "-log".equals(optionName) ? "1" : "";
+ }
+ };
+
+ ArgsRequired a = new ArgsRequired();
+ JCommander jc = new JCommander(a);
+ jc.setDefaultProvider(defaultProvider);
+ jc.parse();
+
+ Assert.assertEquals(a.log.intValue(), 1);
+ }
}