Author: carlos
Date: Wed Apr 5 13:22:48 2006
New Revision: 391783
URL: http://svn.apache.org/viewcvs?rev=391783&view=rev
Log:
[MSUREFIRE-86] Make surefire compile under Java 1.3, improve test cases
Modified:
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/SurefireBooterTest.java
Modified:
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
URL:
http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java?rev=391783&r1=391782&r2=391783&view=diff
==============================================================================
---
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
(original)
+++
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
Wed Apr 5 13:22:48 2006
@@ -32,6 +32,7 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -835,12 +836,17 @@
/**
* Split a string in a List of Strings using a delimiter. Same as Java 1.4
String.split( String )
*
+ * @since 1.5.4
* @param s the string to be splitted
* @param delim the delimiter to be used
* @return a List with the Strings between the delimiters
*/
- static List split( String s, String delim )
+ public static List split( String s, String delim )
{
+ if ( s.equals(delim) )
+ {
+ return Collections.EMPTY_LIST;
+ }
List tokens = new ArrayList();
int i = 0;
int j = s.indexOf( delim, i );
@@ -850,7 +856,7 @@
i = j + delim.length();
j = s.indexOf( delim, i );
}
- if ( i < s.length() )
+ if ( i < s.length() || ( i == 0 ) )
{
tokens.add( s.substring( i ) );
}
Modified:
maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/SurefireBooterTest.java
URL:
http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/SurefireBooterTest.java?rev=391783&r1=391782&r2=391783&view=diff
==============================================================================
---
maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/SurefireBooterTest.java
(original)
+++
maven/surefire/trunk/surefire-booter/src/test/java/org/apache/maven/surefire/SurefireBooterTest.java
Wed Apr 5 13:22:48 2006
@@ -1,6 +1,7 @@
package org.apache.maven.surefire;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import junit.framework.TestCase;
@@ -34,19 +35,63 @@
*/
public void testSplit()
{
- List list = SurefireBooter.split( "x1:y2:z;j:f", ":" );
+ String s, d;
+ d = ":";
+ s = "x1:y2:z;j:f";
+ List list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1", "y2", "z;j", "f" }
), list );
- list = SurefireBooter.split( "x1", ":" );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "x1";
+ list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1" } ), list );
- list = SurefireBooter.split( "x1:", ":" );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "x1:";
+ list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1" } ), list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "";
+ list = SurefireBooter.split( s, d );
+ assertEquals( Arrays.asList( new String[] { "" } ), list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
- list = SurefireBooter.split( "x1::y2::z;j::f", "::" );
+ s = ":";
+ list = SurefireBooter.split( s, d );
+ assertEquals( Collections.EMPTY_LIST, list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ d = "::";
+ s = "x1::y2::z;j::f";
+ list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1", "y2", "z;j", "f" }
), list );
- list = SurefireBooter.split( "x1", "::" );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "x1";
+ list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1" } ), list );
- list = SurefireBooter.split( "x1::", "::" );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "x1::";
+ list = SurefireBooter.split( s, d );
assertEquals( Arrays.asList( new String[] { "x1" } ), list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "";
+ list = SurefireBooter.split( s, d );
+ assertEquals( Arrays.asList( new String[] { "" } ), list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = ":";
+ list = SurefireBooter.split( s, d );
+ assertEquals( Arrays.asList( new String[] { ":" } ), list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
+
+ s = "::";
+ list = SurefireBooter.split( s, d );
+ assertEquals( Collections.EMPTY_LIST, list );
+ assertEquals( Arrays.asList( s.split( d ) ), list );
}
}