You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2005/08/09 01:15:17 UTC

svn commit: r230921 - in /jakarta/commons/proper/lang/trunk/src: java/org/apache/commons/lang/text/StrBuilder.java test/org/apache/commons/lang/text/StrBuilderTest.java

Author: scolebourne
Date: Mon Aug  8 16:15:04 2005
New Revision: 230921

URL: http://svn.apache.org/viewcvs?rev=230921&view=rev
Log:
Fix indexOf and lastIndexOf with null input

Modified:
    jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
    jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java

Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java?rev=230921&r1=230920&r2=230921&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java (original)
+++ jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java Mon Aug  8 16:15:04 2005
@@ -1456,10 +1456,10 @@
      */
     public int indexOf(String str, int startIndex) {
         startIndex = (startIndex < 0 ? 0 : startIndex);
-        if (startIndex >= size) {
+        if (str == null || startIndex >= size) {
             return -1;
         }
-        int strLen = (str == null ? 0 : str.length());
+        int strLen = str.length();
         if (strLen > 0 && strLen <= size) {
             if (strLen == 1) {
                 return indexOf(str.charAt(0), startIndex);
@@ -1536,10 +1536,10 @@
      */
     public int lastIndexOf(String str, int startIndex) {
         startIndex = (startIndex >= size ? size - 1 : startIndex);
-        if (startIndex < 0) {
+        if (str == null || startIndex < 0) {
             return -1;
         }
-        int strLen = (str == null ? 0 : str.length());
+        int strLen = str.length();
         if (strLen > 0 && strLen <= size) {
             if (strLen == 1) {
                 return lastIndexOf(str.charAt(0), startIndex);

Modified: jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java?rev=230921&r1=230920&r2=230921&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java (original)
+++ jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java Mon Aug  8 16:15:04 2005
@@ -1663,89 +1663,97 @@
     public void testIndexOfString() {
         StrBuilder sb = new StrBuilder("abab");
         
-        assertEquals (0, sb.indexOf("a"));
+        assertEquals(0, sb.indexOf("a"));
         //should work like String#indexOf
-        assertEquals ("abab".indexOf("a"), sb.indexOf("a"));
+        assertEquals("abab".indexOf("a"), sb.indexOf("a"));
         
-        assertEquals (0, sb.indexOf("ab"));
+        assertEquals(0, sb.indexOf("ab"));
         //should work like String#indexOf
-        assertEquals ("abab".indexOf("ab"), sb.indexOf("ab"));
+        assertEquals("abab".indexOf("ab"), sb.indexOf("ab"));
         
         assertEquals(1, sb.indexOf("b"));
-        assertEquals ("abab".indexOf("b"), sb.indexOf("b"));
+        assertEquals("abab".indexOf("b"), sb.indexOf("b"));
         
         assertEquals(1, sb.indexOf("ba"));
-        assertEquals ("abab".indexOf("ba"), sb.indexOf("ba"));
+        assertEquals("abab".indexOf("ba"), sb.indexOf("ba"));
         
-        assertEquals (-1, sb.indexOf("z"));
+        assertEquals(-1, sb.indexOf("z"));
+        
+        assertEquals(-1, sb.indexOf((String) null));
     }
     
     public void testLastIndexOfString() {
         StrBuilder sb = new StrBuilder("abab");
         
-        assertEquals (2, sb.lastIndexOf("a"));
+        assertEquals(2, sb.lastIndexOf("a"));
         //should work like String#lastIndexOf
-        assertEquals ("abab".lastIndexOf("a"), sb.lastIndexOf("a"));
+        assertEquals("abab".lastIndexOf("a"), sb.lastIndexOf("a"));
         
-        assertEquals (2, sb.lastIndexOf("ab"));
+        assertEquals(2, sb.lastIndexOf("ab"));
         //should work like String#lastIndexOf
-        assertEquals ("abab".lastIndexOf("ab"), sb.lastIndexOf("ab"));
+        assertEquals("abab".lastIndexOf("ab"), sb.lastIndexOf("ab"));
         
         assertEquals(3, sb.lastIndexOf("b"));
-        assertEquals ("abab".lastIndexOf("b"), sb.lastIndexOf("b"));
+        assertEquals("abab".lastIndexOf("b"), sb.lastIndexOf("b"));
         
         assertEquals(1, sb.lastIndexOf("ba"));
-        assertEquals ("abab".lastIndexOf("ba"), sb.lastIndexOf("ba"));
+        assertEquals("abab".lastIndexOf("ba"), sb.lastIndexOf("ba"));
+        
+        assertEquals(-1, sb.lastIndexOf("z"));
         
-        assertEquals (-1, sb.lastIndexOf("z"));
+        assertEquals(-1, sb.lastIndexOf((String) null));
     }
     
     public void testIndexOfStringInt() {
         StrBuilder sb = new StrBuilder("abab");
         
-        assertEquals (2, sb.indexOf("a", 1));
+        assertEquals(2, sb.indexOf("a", 1));
         //should work like String#indexOf
         assertEquals ("abab".indexOf("a", 1), sb.indexOf("a", 1));
         
-        assertEquals (2, sb.indexOf("ab", 1));
+        assertEquals(2, sb.indexOf("ab", 1));
         //should work like String#indexOf
-        assertEquals ("abab".indexOf("ab", 1), sb.indexOf("ab", 1));
+        assertEquals("abab".indexOf("ab", 1), sb.indexOf("ab", 1));
         
         assertEquals(3, sb.indexOf("b", 2));
-        assertEquals ("abab".indexOf("b", 2), sb.indexOf("b", 2));
+        assertEquals("abab".indexOf("b", 2), sb.indexOf("b", 2));
         
         assertEquals(1, sb.indexOf("ba", 1));
-        assertEquals ("abab".indexOf("ba", 2), sb.indexOf("ba", 2));
+        assertEquals("abab".indexOf("ba", 2), sb.indexOf("ba", 2));
         
-        assertEquals (-1, sb.indexOf("z", 2));
+        assertEquals(-1, sb.indexOf("z", 2));
         
         sb = new StrBuilder("xyzabc");
-        assertEquals (2, sb.indexOf("za", 0));
-        assertEquals (-1, sb.indexOf("za", 3));
+        assertEquals(2, sb.indexOf("za", 0));
+        assertEquals(-1, sb.indexOf("za", 3));
+        
+        assertEquals(-1, sb.indexOf((String) null, 2));
     }
     
     public void testLastIndexOfStringInt() {
         StrBuilder sb = new StrBuilder("abab");
         
-        assertEquals (0, sb.lastIndexOf("a", 1));
+        assertEquals(0, sb.lastIndexOf("a", 1));
         //should work like String#lastIndexOf
-        assertEquals ("abab".lastIndexOf("a", 1), sb.lastIndexOf("a", 1));
+        assertEquals("abab".lastIndexOf("a", 1), sb.lastIndexOf("a", 1));
         
-        assertEquals (0, sb.lastIndexOf("ab", 1));
+        assertEquals(0, sb.lastIndexOf("ab", 1));
         //should work like String#lastIndexOf
-        assertEquals ("abab".lastIndexOf("ab", 1), sb.lastIndexOf("ab", 1));
+        assertEquals("abab".lastIndexOf("ab", 1), sb.lastIndexOf("ab", 1));
         
         assertEquals(1, sb.lastIndexOf("b", 2));
-        assertEquals ("abab".lastIndexOf("b", 2), sb.lastIndexOf("b", 2));
+        assertEquals("abab".lastIndexOf("b", 2), sb.lastIndexOf("b", 2));
         
         assertEquals(1, sb.lastIndexOf("ba", 2));
-        assertEquals ("abab".lastIndexOf("ba", 2), sb.lastIndexOf("ba", 2));
+        assertEquals("abab".lastIndexOf("ba", 2), sb.lastIndexOf("ba", 2));
         
-        assertEquals (-1, sb.lastIndexOf("z", 2));
+        assertEquals(-1, sb.lastIndexOf("z", 2));
         
         sb = new StrBuilder("xyzabc");
-        assertEquals (2, sb.lastIndexOf("za", sb.length()));
-        assertEquals (-1, sb.lastIndexOf("za", 1));
+        assertEquals(2, sb.lastIndexOf("za", sb.length()));
+        assertEquals(-1, sb.lastIndexOf("za", 1));
+        
+        assertEquals(-1, sb.lastIndexOf((String) null, 2));
     }
     
     public void testContainsChar() {



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org