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]

Reply via email to