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 );
     }
 
 }


Reply via email to