Author: bayard
Date: Tue Oct 31 14:15:00 2006
New Revision: 469677

URL: http://svn.apache.org/viewvc?view=rev&rev=469677
Log:
Fixing #LANG-294. The indexOf method did not take into account the size 
variable that limited the amount of the buffer that should be looked at. 

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/viewvc/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java?view=diff&rev=469677&r1=469676&r2=469677
==============================================================================
--- 
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
 Tue Oct 31 14:15:00 2006
@@ -1773,8 +1773,9 @@
             return -1;
         }
         char[] thisBuf = buffer;
+        int len = size - strLen + 1;
         outer:
-        for (int i = startIndex; i < thisBuf.length - strLen; i++) {
+        for (int i = startIndex; i < len; i++) {
             for (int j = 0; j < strLen; j++) {
                 if (str.charAt(j) != thisBuf[i + j]) {
                     continue outer;

Modified: 
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java?view=diff&rev=469677&r1=469676&r2=469677
==============================================================================
--- 
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
 Tue Oct 31 14:15:00 2006
@@ -1728,4 +1728,17 @@
         assertEquals(new StringBuffer("junit").toString(), 
sb.toStringBuffer().toString());
     }
 
+    //-----------------------------------------------------------------------
+    public void testLang294() {
+        StrBuilder sb = new StrBuilder("\n%BLAH%\nDo more stuff\neven more 
stuff\n%BLAH%\n");
+        sb.deleteAll("\n%BLAH%");
+        assertEquals("\nDo more stuff\neven more stuff\n", sb.toString()); 
+    }
+
+    public void testIndexOfLang294() {
+        StrBuilder sb = new StrBuilder("onetwothree");
+        sb.deleteFirst("three");
+        assertEquals(-1, sb.indexOf("three"));
+    }
+
 }



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

Reply via email to