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 2004/03/11 00:54:48 UTC
cvs commit: jakarta-commons/lang/src/java/org/apache/commons/lang StringUtils.java
scolebourne 2004/03/10 15:54:48
Modified: lang/src/test/org/apache/commons/lang StringUtilsTest.java
lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Fix replaceChars() to complete bug 25454
Revision Changes Path
1.59 +5 -5 jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java
Index: StringUtilsTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- StringUtilsTest.java 18 Feb 2004 23:06:19 -0000 1.58
+++ StringUtilsTest.java 10 Mar 2004 23:54:48 -0000 1.59
@@ -471,8 +471,7 @@
assertEquals("ayzya", StringUtils.replaceChars("abcba", "bc", "yzx"));
assertEquals("abcba", StringUtils.replaceChars("abcba", "z", "w"));
- // Comment out for now, delete later when discussion completes [Gary Gregory, Dec 14 2003]
- //assertSame("abcba", StringUtils.replaceChars("abcba", "z", "w"));
+ assertSame("abcba", StringUtils.replaceChars("abcba", "z", "w"));
// Javadoc examples:
assertEquals("jelly", StringUtils.replaceChars("hello", "ho", "jy"));
@@ -482,8 +481,9 @@
// From http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25454
assertEquals("bcc", StringUtils.replaceChars("abc", "ab", "bc"));
- assertEquals("q651.506bera", StringUtils.replaceChars("d216.102oren", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789",
- "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM567891234"));
+ assertEquals("q651.506bera", StringUtils.replaceChars("d216.102oren",
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789",
+ "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM567891234"));
}
public void testOverlayString_StringStringIntInt() {
1.129 +11 -5 jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java
Index: StringUtils.java
===================================================================
RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -r1.128 -r1.129
--- StringUtils.java 24 Feb 2004 22:31:42 -0000 1.128
+++ StringUtils.java 10 Mar 2004 23:54:48 -0000 1.129
@@ -2675,19 +2675,25 @@
if (replaceChars == null) {
replaceChars = "";
}
- StringBuffer buffer = new StringBuffer(str.length());
+ boolean modified = false;
+ StringBuffer buf = new StringBuffer(str.length());
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
int index = searchChars.indexOf(ch);
if (index >= 0) {
+ modified = true;
if (index < replaceChars.length()) {
- buffer.append(replaceChars.charAt(index));
+ buf.append(replaceChars.charAt(index));
}
} else {
- buffer.append(ch);
+ buf.append(ch);
}
}
- return buffer.toString();
+ if (modified) {
+ return buf.toString();
+ } else {
+ return str;
+ }
}
// Overlay
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org