sebb        2005/02/22 15:40:00

  Modified:    src/jorphan/org/apache/commons/cli/avalon Tag: rel-2_0
                        ClutilTestCase.java
  Log:
  Added a few more test cases for option args with - signs in them etc
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.5   +137 -21   
jakarta-jmeter/src/jorphan/org/apache/commons/cli/avalon/Attic/ClutilTestCase.java
  
  Index: ClutilTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/jorphan/org/apache/commons/cli/avalon/Attic/ClutilTestCase.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- ClutilTestCase.java       22 Feb 2005 02:15:01 -0000      1.1.2.4
  +++ ClutilTestCase.java       22 Feb 2005 23:40:00 -0000      1.1.2.5
  @@ -19,13 +19,6 @@
   
   import java.util.List;
   
  -//import org.apache.avalon.excalibur.cli.AbstractParserControl;
  -//import org.apache.avalon.excalibur.cli.CLArgsParser;
  -//import org.apache.avalon.excalibur.cli.CLOption;
  -//import org.apache.avalon.excalibur.cli.CLOptionDescriptor;
  -//import org.apache.avalon.excalibur.cli.CLUtil;
  -//import org.apache.avalon.excalibur.cli.ParserControl;
  -
   import junit.framework.TestCase;
   
   /**
  @@ -53,7 +46,7 @@
       private static final String[] ARGLIST4 = new String[]
       {
           //incompatable (blee/all)
  -        "-Dstupid=idiot", "are", "--all", "--blee", "here"
  +        "-Dstupid","idiot", "are", "--all", "--blee", "here"
       };
   
       private static final String[] ARGLIST5 = new String[]
  @@ -78,6 +71,12 @@
                       CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
                       DEFINE_OPT,
                       "define" );
  +    private static final CLOptionDescriptor DEFINE_MANY =
  +        new CLOptionDescriptor( "define",
  +             
CLOptionDescriptor.ARGUMENTS_REQUIRED_2|CLOptionDescriptor.DUPLICATES_ALLOWED,
  +             DEFINE_OPT,
  +             "define" );
  +
       private static final CLOptionDescriptor CASE_CHECK =
               new CLOptionDescriptor( "charCheck",
                       CLOptionDescriptor.ARGUMENT_DISALLOWED,
  @@ -118,7 +117,7 @@
                       TAINT_OPT,
                       "turn on tainting checks (optional level)." );
   
  -    public ClutilTestCase()
  +     public ClutilTestCase()
       {
           this( "Command Line Interpreter Test Case" );
       }
  @@ -128,12 +127,6 @@
           super( name );
       }
   
  -    public static void main( final String[] args )
  -    {
  -        final ClutilTestCase test = new ClutilTestCase();
  -        test.testShortOptArgUnenteredBeforeOtherOpt();
  -    }
  -
       public void testOptionalArgWithSpace()
       {
           final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  @@ -428,6 +421,90 @@
           assertEquals( "myfile.txt", ((CLOption)clOptions.get( 0 
)).getArgument() );
       }
   
  +    public void testSingleArg6()
  +    {
  +        final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  +        {
  +            FILE
  +        };
  +
  +        final CLArgsParser parser = new CLArgsParser( 
  +                             new String[]{"-f","-=-"}
  +                             , options );
  +
  +        assertNull( parser.getErrorString(), parser.getErrorString() );
  +
  +        final List clOptions = parser.getArguments();
  +        final int size = clOptions.size();
  +
  +        assertEquals( 1, size );
  +        assertEquals( FILE_OPT, ((CLOption)clOptions.get( 0 
)).getDescriptor().getId() );
  +        assertEquals( "-=-", ((CLOption)clOptions.get( 0 )).getArgument() );
  +    }
  +
  +    public void testSingleArg7()
  +    {
  +        final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  +        {
  +            FILE
  +        };
  +
  +        final CLArgsParser parser = new CLArgsParser( 
  +                             new String[]{"--file=-=-"}
  +                             , options );
  +
  +        assertNull( parser.getErrorString(), parser.getErrorString() );
  +
  +        final List clOptions = parser.getArguments();
  +        final int size = clOptions.size();
  +
  +        assertEquals( 1, size );
  +        assertEquals( FILE_OPT, ((CLOption)clOptions.get( 0 
)).getDescriptor().getId() );
  +        assertEquals( "-=-", ((CLOption)clOptions.get( 0 )).getArgument() );
  +    }
  +
  +    public void testSingleArg8()
  +    {
  +        final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  +        {
  +            FILE
  +        };
  +
  +        final CLArgsParser parser = new CLArgsParser( 
  +                             new String[]{"--file","-=-"}
  +                             , options );
  +
  +        assertNull( parser.getErrorString(), parser.getErrorString() );
  +
  +        final List clOptions = parser.getArguments();
  +        final int size = clOptions.size();
  +
  +        assertEquals( 1, size );
  +        assertEquals( FILE_OPT, ((CLOption)clOptions.get( 0 
)).getDescriptor().getId() );
  +        assertEquals( "-=-", ((CLOption)clOptions.get( 0 )).getArgument() );
  +    }
  +
  +    public void testSingleArg9()
  +    {
  +        final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  +        {
  +            FILE
  +        };
  +
  +        final CLArgsParser parser = new CLArgsParser( 
  +                             new String[]{"--file","-=-"}
  +                             , options );
  +
  +        assertNull( parser.getErrorString(), parser.getErrorString() );
  +
  +        final List clOptions = parser.getArguments();
  +        final int size = clOptions.size();
  +
  +        assertEquals( 1, size );
  +        assertEquals( FILE_OPT, ((CLOption)clOptions.get( 0 
)).getDescriptor().getId() );
  +        assertEquals( "-=-", ((CLOption)clOptions.get( 0 )).getArgument() );
  +    }
  +
       public void testCombinedArgs1()
       {
           final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  @@ -569,7 +646,6 @@
           assertEquals( "d-e,f", option.getArgument( 1 ) );
       }
   
  -      // Should be same as above, but currently causes a parse error
       public void test2ArgsParse3()
       {
           final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  @@ -578,7 +654,7 @@
           };
   
           final CLArgsParser parser = new CLArgsParser( 
  -                             new String[] {"-D","a-b,c=d-e,f"}, 
  +                             new String[] {"-D","A-b,c","G-e,f"}, 
                                options );
   
           assertNull( parser.getErrorString(), parser.getErrorString() );
  @@ -590,8 +666,48 @@
           assertEquals( DEFINE_OPT, ((CLOption)clOptions.get( 0 
)).getDescriptor().getId() );
   
           final CLOption option = (CLOption)clOptions.get( 0 );
  -        assertEquals( "a-b,c", option.getArgument( 0 ) );
  -        assertEquals( "d-e,f", option.getArgument( 1 ) );
  +        assertEquals( "A-b,c", option.getArgument( 0 ) );
  +        assertEquals( "G-e,f", option.getArgument( 1 ) );
  +    }
  +
  +    public void test2ArgsParse4()
  +    {
  +        final CLOptionDescriptor[] options = new CLOptionDescriptor[]
  +        {
  +            DEFINE_MANY
  +        };
  +
  +        final CLArgsParser parser = new CLArgsParser( 
  +                             new String[] {"-Dval1=-1","-D","val2=-2",
  +                                             
"--define=val-3=-3","--define","val4-=-4"}, 
  +                             options );
  +
  +        assertNull( parser.getErrorString(), parser.getErrorString() );
  +
  +        final List clOptions = parser.getArguments();
  +        final int size = clOptions.size();
  +
  +        assertEquals( 4, size );
  +             for (int i=0;i<size;i++){
  +        assertEquals( DEFINE_OPT, ((CLOption)clOptions.get( i 
)).getDescriptor().getId() );
  +             }
  +
  +        CLOption option; 
  +        option = (CLOption)clOptions.get( 0 );
  +        assertEquals( "val1", option.getArgument( 0 ) );
  +        assertEquals( "-1", option.getArgument( 1 ) );
  +
  +             option = (CLOption)clOptions.get( 1 );
  +        assertEquals( "val2", option.getArgument( 0 ) );
  +        assertEquals( "-2", option.getArgument( 1 ) );
  +
  +             option = (CLOption)clOptions.get( 2 );
  +        assertEquals( "val-3", option.getArgument( 0 ) );
  +        assertEquals( "-3", option.getArgument( 1 ) );
  +             
  +             option = (CLOption)clOptions.get( 3 );
  +        assertEquals( "val4-", option.getArgument( 0 ) );
  +        assertEquals( "-4", option.getArgument( 1 ) );
       }
   
       public void testPartParse()
  @@ -780,7 +896,7 @@
               DEFINE, CLEAR1
           };
   
  -        final String[] args = new String[]{"-Dstupid", "-c"};
  +        final String[] args = new String[]{"-DStupid", "-c"};
   
           final CLArgsParser parser = new CLArgsParser( args, options );
   
  @@ -793,7 +909,7 @@
           assertEquals( ((CLOption)clOptions.get( 1 
)).getDescriptor().getId(), CLEAR1_OPT );
           final CLOption option = (CLOption)clOptions.get( 0 );
           assertEquals( option.getDescriptor().getId(), DEFINE_OPT );
  -        assertEquals( option.getArgument( 0 ), "stupid" );
  +        assertEquals( option.getArgument( 0 ), "Stupid" );
           assertEquals( option.getArgument( 1 ), "" );
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to