sebb 2005/02/20 15:50:13
Modified: src/jorphan/org/apache/commons/cli/avalon Tag: rel-2_0
ClutilTestCase.java
Log:
Add test cases to reveal bugs
Revision Changes Path
No revision
No revision
1.1.2.3 +222 -0
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.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- ClutilTestCase.java 20 Feb 2005 15:56:12 -0000 1.1.2.2
+++ ClutilTestCase.java 20 Feb 2005 23:50:13 -0000 1.1.2.3
@@ -344,6 +344,179 @@
assertEquals( ((CLOption)clOptions.get( 0
)).getDescriptor().getId(), FILE_OPT );
assertEquals( ((CLOption)clOptions.get( 0 )).getArgument(),
"myfile.txt" );
}
+ public void testSingleArg2()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-f-=,=-"} // Check delimiters are
allowed
+ , 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 testSingleArg3()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"--file=-=,-"} // Check delimiters
are allowed
+ , 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 testSingleArg4()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"--file","myfile.txt"}
+ , 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( "myfile.txt", ((CLOption)clOptions.get( 0
)).getArgument() );
+ }
+
+ public void testSingleArg5()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-f","myfile.txt"}
+ , 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( "myfile.txt", ((CLOption)clOptions.get( 0
)).getArgument() );
+ }
+
+ public void testCombinedArgs1()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ BLEE, TAINT
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-bT","rest"}
+ , options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+ assertEquals( 3, size);
+ assertEquals( BLEE_OPT, ((CLOption)clOptions.get( 0
)).getDescriptor().getId());
+ assertEquals( TAINT_OPT, ((CLOption)clOptions.get( 1
)).getDescriptor().getId());
+ assertEquals( 0, ((CLOption)clOptions.get( 2
)).getDescriptor().getId());
+ assertEquals( "rest", ((CLOption)clOptions.get( 2 )).getArgument());
+ }
+
+ public void testCombinedArgs2()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ BLEE, TAINT, FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-bT","-fa"}
+ , options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+ assertEquals( 3, size);
+ assertEquals( BLEE_OPT, ((CLOption)clOptions.get( 0
)).getDescriptor().getId());
+ assertEquals( TAINT_OPT, ((CLOption)clOptions.get( 1
)).getDescriptor().getId());
+ assertEquals( FILE_OPT, ((CLOption)clOptions.get( 2
)).getDescriptor().getId());
+ assertEquals( "a", ((CLOption)clOptions.get( 2 )).getArgument());
+ }
+
+ public void testCombinedArgs3()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ BLEE, TAINT, FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-bT","--","-fa"}// Should not
detect trailing option
+ , options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+ assertEquals( 3, size);
+ assertEquals( BLEE_OPT, ((CLOption)clOptions.get( 0
)).getDescriptor().getId());
+ assertEquals( TAINT_OPT, ((CLOption)clOptions.get( 1
)).getDescriptor().getId());
+ assertEquals( 0, ((CLOption)clOptions.get( 2
)).getDescriptor().getId());
+ assertEquals( "-fa", ((CLOption)clOptions.get( 2 )).getArgument());
+ }
+
+ public void testCombinedArgs4()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ BLEE, TAINT, FILE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[]{"-bT","rest","-fa"} // should
detect trailing option
+ , options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+ assertEquals( 4, size);
+ assertEquals( BLEE_OPT, ((CLOption)clOptions.get( 0
)).getDescriptor().getId());
+ assertEquals( TAINT_OPT, ((CLOption)clOptions.get( 1
)).getDescriptor().getId());
+ assertEquals( 0, ((CLOption)clOptions.get( 2
)).getDescriptor().getId());
+ assertEquals( "rest", ((CLOption)clOptions.get( 2 )).getArgument());
+ assertEquals( FILE_OPT, ((CLOption)clOptions.get( 3
)).getDescriptor().getId());
+ assertEquals( "a", ((CLOption)clOptions.get( 3 )).getArgument());
+ }
public void test2ArgsParse()
{
@@ -372,6 +545,55 @@
assertEquals( "idiot", option.getArgument( 1 ) );
}
+ public void test2ArgsParse2()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ DEFINE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[] {"--define","a-b,c=d-e,f"}, //
Check "-" is allowed in arg2
+ options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+
+ assertEquals( 1, size );
+ 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 ) );
+ }
+
+ // Should be same as above, but currently causes a parse error
+ public void test2ArgsParse3()
+ {
+ final CLOptionDescriptor[] options = new CLOptionDescriptor[]
+ {
+ DEFINE
+ };
+
+ final CLArgsParser parser = new CLArgsParser(
+ new String[] {"-D","a-b,c=d-e,f"},
+ options );
+
+ assertNull( parser.getErrorString(), parser.getErrorString() );
+
+ final List clOptions = parser.getArguments();
+ final int size = clOptions.size();
+
+ assertEquals( 1, size );
+ 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 ) );
+ }
+
public void testPartParse()
{
final CLOptionDescriptor[] options = new CLOptionDescriptor[]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]