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]