You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ro...@apache.org on 2004/12/27 14:11:39 UTC
cvs commit: jakarta-commons/cli/src/test/org/apache/commons/cli ArgumentIsOptionTest.java
roxspring 2004/12/27 05:11:39
Modified: cli/src/test/org/apache/commons/cli2/jdepend
JDependTest.java
cli/src/java/org/apache/commons/cli Parser.java
cli/src/test/org/apache/commons/cli2
CommandLineTestCase.java
cli/src/test/org/apache/commons/cli
ArgumentIsOptionTest.java
Log:
Parser now correctly allows option arguments to be the same as other options, less the initial '-'. E.g. with options -a, the value 'a' is now allowed.
Also corrected typo in test: testNoCyclesPresnet().
PR: 25044
Submitted by: David Morris
Revision Changes Path
1.3 +1 -1 jakarta-commons/cli/src/test/org/apache/commons/cli2/jdepend/JDependTest.java
Index: JDependTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/jdepend/JDependTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JDependTest.java 22 Apr 2004 23:00:16 -0000 1.2
+++ JDependTest.java 27 Dec 2004 13:11:39 -0000 1.3
@@ -71,7 +71,7 @@
}
}
- public void testNoCyclesPresnet() {
+ public void testNoCyclesPresent() {
assertEquals("Cycles exist", false, dependancies.containsCycles());
}
1.16 +3 -2 jakarta-commons/cli/src/java/org/apache/commons/cli/Parser.java
Index: Parser.java
===================================================================
RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli/Parser.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Parser.java 22 Apr 2004 23:00:09 -0000 1.15
+++ Parser.java 27 Dec 2004 13:11:39 -0000 1.16
@@ -319,7 +319,8 @@
{
String str = (String) iter.next();
- // found an Option
+ // found an Option, not an argument
+ //if (options.hasOption(str) && str.startsWith("-"))
if (options.hasOption(str))
{
iter.previous();
1.4 +27 -0 jakarta-commons/cli/src/test/org/apache/commons/cli2/CommandLineTestCase.java
Index: CommandLineTestCase.java
===================================================================
RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli2/CommandLineTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CommandLineTestCase.java 2 Oct 2004 13:16:21 -0000 1.3
+++ CommandLineTestCase.java 27 Dec 2004 13:11:39 -0000 1.4
@@ -19,6 +19,7 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.commons.cli2.builder.ArgumentBuilder;
import org.apache.commons.cli2.builder.DefaultOptionBuilder;
import org.apache.commons.cli2.builder.GroupBuilder;
import org.apache.commons.cli2.commandline.Parser;
@@ -483,5 +484,31 @@
assertEquals(1, cl.getOptionCount("login"));
assertEquals(3, cl.getOptionCount("-?"));
assertEquals(1, cl.getOptionCount("+display"));
+ }
+
+ public final void testOptionAsArgument() throws OptionException {
+ final Option bool = new DefaultOptionBuilder().withShortName("p").create();
+ final Argument argument = new ArgumentBuilder().create();
+ final Option withArgument = new DefaultOptionBuilder().withShortName("attr").withArgument(argument).create();
+
+ final Group group =
+ new GroupBuilder()
+ .withOption(bool)
+ .withOption(withArgument)
+ .create();
+
+ final Parser parser = new Parser();
+ parser.setGroup(group);
+ final CommandLine cl =
+ parser.parse(
+ new String[] {
+ "-p",
+ "-attr",
+ "p" });
+
+ assertEquals(1, cl.getOptionCount("-p"));
+ assertTrue(cl.hasOption("-p"));
+ assertTrue(cl.hasOption("-attr"));
+ assertTrue(cl.getValue("-attr").equals("p"));
}
}
1.2 +4 -4 jakarta-commons/cli/src/test/org/apache/commons/cli/ArgumentIsOptionTest.java
Index: ArgumentIsOptionTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli/ArgumentIsOptionTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ArgumentIsOptionTest.java 27 Dec 2004 12:42:38 -0000 1.1
+++ ArgumentIsOptionTest.java 27 Dec 2004 13:11:39 -0000 1.2
@@ -46,7 +46,7 @@
String[] args = new String[] {
"-p",
"-attr",
- "value"
+ "p"
};
try {
@@ -54,7 +54,7 @@
assertTrue("Confirm -p is set", cl.hasOption("p"));
assertTrue("Confirm -attr is set", cl.hasOption("attr"));
assertTrue("Confirm arg of -attr",
- cl.getOptionValue("attr").equals("value"));
+ cl.getOptionValue("attr").equals("p"));
assertTrue("Confirm all arguments recognized", cl.getArgs().length == 0);
}
catch (ParseException e) {
@@ -65,7 +65,7 @@
public void testOptionWithArgument() {
String[] args = new String[] {
"-attr",
- "value"
+ "p"
};
try {
@@ -73,7 +73,7 @@
assertFalse("Confirm -p is set", cl.hasOption("p"));
assertTrue("Confirm -attr is set", cl.hasOption("attr"));
assertTrue("Confirm arg of -attr",
- cl.getOptionValue("attr").equals("value"));
+ cl.getOptionValue("attr").equals("p"));
assertTrue("Confirm all arguments recognized", cl.getArgs().length == 0);
}
catch (ParseException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org