summaryrefslogtreecommitdiffstats
path: root/src/test/java
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2012-08-07 04:29:57 -0700
committerCedric Beust <cedric@beust.com>2012-08-07 04:29:57 -0700
commit5377e48b0f7b1b77aa9d546313b11767559068de (patch)
treead23494cbe105df2e422d40cb70bbef75f45abfa /src/test/java
parent3dd7558e2aee86e647b4530f536cbb1fa574b87a (diff)
downloadplatform_external_jcommander-5377e48b0f7b1b77aa9d546313b11767559068de.tar.gz
platform_external_jcommander-5377e48b0f7b1b77aa9d546313b11767559068de.tar.bz2
platform_external_jcommander-5377e48b0f7b1b77aa9d546313b11767559068de.zip
IParameterValidator2.
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/beust/jcommander/JCommanderTest.java34
-rw-r--r--src/test/java/com/beust/jcommander/MyClass.java14
2 files changed, 42 insertions, 6 deletions
diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java
index 5b41e0b..22c5082 100644
--- a/src/test/java/com/beust/jcommander/JCommanderTest.java
+++ b/src/test/java/com/beust/jcommander/JCommanderTest.java
@@ -839,11 +839,9 @@ public class JCommanderTest {
public void parameterWithOneDoubleQuote() {
@Parameters(separators = "=")
class Arg {
-
@Parameter(names = { "-p", "--param" })
private String param;
}
-
JCommander jc = new JCommander(new MyClass());
jc.parse("-p=\"");
}
@@ -865,14 +863,42 @@ public class JCommanderTest {
private List<String> rules = new ArrayList<String>();
}
Arg a = new Arg();
- StringBuilder sb = new StringBuilder();
new JCommander(a, "-rule", "some test");
Assert.assertEquals(a.rules, Arrays.asList("some test"));
}
+ static class V2 implements IParameterValidator2 {
+ final static List<String> names = Lists.newArrayList();
+ static boolean validateCalled = false;
+
+ @Override
+ public void validate(String name, String value) throws ParameterException {
+ validateCalled = true;
+ }
+
+ @Override
+ public void validate(String name, String value, ParameterDescription pd)
+ throws ParameterException {
+ names.addAll(Arrays.asList(pd.getParameter().names()));
+ }
+ }
+
+ public void validator2() {
+ class Arg {
+ @Parameter(names = { "-h", "--host" }, validateWith = V2.class)
+ String host;
+ }
+ Arg a = new Arg();
+ V2.names.clear();
+ V2.validateCalled = false;
+ new JCommander(a, "--host", "h");
+ Assert.assertEquals(V2.names, Arrays.asList(new String[] { "-h", "--host" }));
+ Assert.assertTrue(V2.validateCalled);
+ }
+
@Test(enabled = false)
public static void main(String[] args) throws Exception {
- new JCommanderTest().spaces();
+ new JCommanderTest().parameterWithOneDoubleQuote();
// class A {
// @Parameter(names = "-short", required = true)
// List<String> parameters;
diff --git a/src/test/java/com/beust/jcommander/MyClass.java b/src/test/java/com/beust/jcommander/MyClass.java
index 3bf46b5..c2d3371 100644
--- a/src/test/java/com/beust/jcommander/MyClass.java
+++ b/src/test/java/com/beust/jcommander/MyClass.java
@@ -1,14 +1,24 @@
package com.beust.jcommander;
+import org.testng.Assert;
+
+
@Parameters(separators = "=")
public class MyClass {
- @Parameter(names = { "-p", "--param" })
+ @Parameter(names = { "-p", "--param" }, validateWith = MyValidator.class)
private String param;
public static void main(String[] args) {
JCommander jCommander = new JCommander(new MyClass());
- jCommander.parse("-p=\"");
+ jCommander.parse("--param=value");
+ }
+
+ public static class MyValidator implements IParameterValidator {
+ @Override
+ public void validate(String name, String value) throws ParameterException {
+ Assert.assertEquals(value, "\"");
+ }
}
} \ No newline at end of file