Author: sebb
Date: Mon Apr 30 10:17:45 2007
New Revision: 533808
URL: http://svn.apache.org/viewvc?view=rev&rev=533808
Log:
Test cases for optional argument handling.
N.B. testOptionalArgLongEquals currently fails; optional arguments don't
currently work for long options
Modified:
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
Modified:
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java?view=diff&rev=533808&r1=533807&r2=533808
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
Mon Apr 30 10:17:45 2007
@@ -163,6 +163,30 @@
assertEquals(option2.getArgument(0), null);
}
+ public void testOptionalArgLongEquals() {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
ALL, TAINT };
+
+ // Check that optional args work woth long options
+ final String[] args = new String[] { "--taint=param", "-a" };
+
+ final CLArgsParser parser = new CLArgsParser(args, options);
+
+ assertNull(parser.getErrorString(), parser.getErrorString());
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+
+ assertEquals("Option count", 3, size);
+
+ final CLOption option0 = (CLOption) clOptions.get(0);
+ assertEquals("Option Code: " + option0.getDescriptor().getId(),
TAINT_OPT, option0.getDescriptor().getId());
+ assertEquals("Option Arg: " + option0.getArgument(0), "param",
option0.getArgument(0));
+
+ final CLOption option2 = (CLOption) clOptions.get(1);
+ assertEquals(option2.getDescriptor().getId(), ALL_OPT);
+ assertEquals(option2.getArgument(0), null);
+ }
+
public void testShortOptArgUnenteredBeforeOtherOpt() {
final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
ALL, TAINT };
@@ -191,6 +215,33 @@
final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
ALL, TAINT };
final String[] args = new String[] { "-T3", "-a" };
+
+ // System.out.println("[before parsing]");
+
+ final CLArgsParser parser = new CLArgsParser(args, options);
+
+ // System.out.println("[after parsing]");
+
+ assertNull(parser.getErrorString(), parser.getErrorString());
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+
+ assertEquals(size, 2);
+ final CLOption option0 = (CLOption) clOptions.get(0);
+ assertEquals(option0.getDescriptor().getId(), TAINT_OPT);
+ assertEquals(option0.getArgument(0), "3");
+
+ final CLOption option1 = (CLOption) clOptions.get(1);
+ assertEquals(ALL_OPT, option1.getDescriptor().getId());
+ assertEquals(null, option1.getArgument(0));
+ }
+
+ public void testOptionalArgsWithArgShortEqualsBeforeOtherOpt() {
+ // "-T3","-a"
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[] {
ALL, TAINT };
+
+ final String[] args = new String[] { "-T=3", "-a" };
// System.out.println("[before parsing]");
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]