summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java')
-rw-r--r--src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java b/src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java
new file mode 100644
index 0000000..6a3a98f
--- /dev/null
+++ b/src/test/java/com/beust/jcommander/ValidatePropertiesWhenParsingTest.java
@@ -0,0 +1,42 @@
+package com.beust.jcommander;
+
+import org.testng.annotations.Test;
+
+public class ValidatePropertiesWhenParsingTest {
+ @Test
+ public void f()
+ throws Exception {
+
+ JCommander cmd = new JCommander();
+
+ cmd.addCommand("a", new A());
+// cmd.addCommand("b", new B());
+
+ cmd.parse(new String[] { "a", "-path", "myPathToHappiness" });
+ }
+
+ public static class MyPathValidator implements IParameterValidator {
+
+ public void validate(String name, String value) throws ParameterException {
+ throw new RuntimeException("I shouldn't be called for command A!");
+ }
+ }
+
+ @Parameters
+ public static class A {
+
+ @Parameter(names = "-path")
+ private String path = "W";
+ }
+
+ @Parameters
+ public static class B {
+
+ @Parameter(names = "-path", validateWith = MyPathValidator.class)
+ private String path = "W";
+ }
+
+ public static void main(String[] args) throws Exception {
+ new ValidatePropertiesWhenParsingTest().f();
+ }
+} \ No newline at end of file