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]