scolebourne 2003/07/19 17:17:30
Modified: lang/src/test/org/apache/commons/lang
StringUtilsTrimEmptyTest.java StringUtilsTest.java
lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Deprecate deleteSpaces()
Move delete methods next to replace
Revision Changes Path
1.14 +1 -21
jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTrimEmptyTest.java
Index: StringUtilsTrimEmptyTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTrimEmptyTest.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- StringUtilsTrimEmptyTest.java 20 Jul 2003 00:04:12 -0000 1.13
+++ StringUtilsTrimEmptyTest.java 20 Jul 2003 00:17:29 -0000 1.14
@@ -170,26 +170,6 @@
assertEquals(true, StringUtils.isNotBlank(" foo "));
}
- public void testDeleteSpace() {
- assertEquals(null, StringUtils.deleteSpaces(null));
- assertEquals("", StringUtils.deleteSpaces(""));
- assertEquals("", StringUtils.deleteSpaces(" \t\t\n\n "));
- assertEquals("test", StringUtils.deleteSpaces("t \t\ne\rs\n\n \tt"));
- }
-
- public void testDeleteWhitespace() {
- assertEquals(null, StringUtils.deleteWhitespace(null));
- assertEquals("", StringUtils.deleteWhitespace(""));
- assertEquals("", StringUtils.deleteWhitespace(" \u000C \t\t\u001F\n\n
\u000B "));
- assertEquals("", StringUtils.deleteWhitespace(StringUtilsTest.WHITESPACE));
- assertEquals(StringUtilsTest.NON_WHITESPACE,
StringUtils.deleteWhitespace(StringUtilsTest.NON_WHITESPACE));
- // Note: u-2007 and u-000A both cause problems in the source code
- // it should ignore 2007 but delete 000A
- assertEquals("\u00A0\u202F", StringUtils.deleteWhitespace(" \u00A0
\t\t\n\n \u202F "));
- assertEquals("\u00A0\u202F", StringUtils.deleteWhitespace("\u00A0\u202F"));
- assertEquals("test", StringUtils.deleteWhitespace("\u000Bt
\t\n\u0009e\rs\n\n \tt"));
- }
-
public void testStrip_String() {
assertEquals(null, StringUtils.strip(null));
assertEquals("", StringUtils.strip(""));
1.31 +73 -21
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.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- StringUtilsTest.java 19 Jul 2003 23:28:23 -0000 1.30
+++ StringUtilsTest.java 20 Jul 2003 00:17:29 -0000 1.31
@@ -341,26 +341,78 @@
}
}
- public void testReplaceFunctions() {
- assertEquals("replace(String, String, String, int) failed",
- FOO, StringUtils.replace("oo" + FOO, "o", "", 2));
- assertEquals("replace(String, String, String) failed",
- "", StringUtils.replace(FOO + FOO + FOO, FOO, ""));
- assertEquals("replaceOnce(String, String, String) failed",
- FOO, StringUtils.replaceOnce(FOO + FOO, FOO, ""));
- assertEquals("carriage-return replace(String,String,String) failed",
- "test123", StringUtils.replace("test\r1\r2\r3", "\r", ""));
-
- assertEquals("replace(String, String, String) failed",
- "FOO", StringUtils.replace("FOO", "", "any"));
- assertEquals("replace(String, String, String) failed",
- "FOO", StringUtils.replace("FOO", null, "any"));
- assertEquals("replace(String, String, String) failed",
- "FOO", StringUtils.replace("FOO", "F", null));
- assertEquals("replace(String, String, String) failed",
- "FOO", StringUtils.replace("FOO", null, null));
- assertEquals("replace(String, String, String) failed",
- null, StringUtils.replace(null, "", "any"));
+ public void testDeleteSpace_String() {
+ assertEquals(null, StringUtils.deleteSpaces(null));
+ assertEquals("", StringUtils.deleteSpaces(""));
+ assertEquals("", StringUtils.deleteSpaces(" \t\t\n\n "));
+ assertEquals("test", StringUtils.deleteSpaces("t \t\ne\rs\n\n \tt"));
+ }
+
+ public void testDeleteWhitespace_String() {
+ assertEquals(null, StringUtils.deleteWhitespace(null));
+ assertEquals("", StringUtils.deleteWhitespace(""));
+ assertEquals("", StringUtils.deleteWhitespace(" \u000C \t\t\u001F\n\n
\u000B "));
+ assertEquals("", StringUtils.deleteWhitespace(StringUtilsTest.WHITESPACE));
+ assertEquals(StringUtilsTest.NON_WHITESPACE,
StringUtils.deleteWhitespace(StringUtilsTest.NON_WHITESPACE));
+ // Note: u-2007 and u-000A both cause problems in the source code
+ // it should ignore 2007 but delete 000A
+ assertEquals("\u00A0\u202F", StringUtils.deleteWhitespace(" \u00A0
\t\t\n\n \u202F "));
+ assertEquals("\u00A0\u202F", StringUtils.deleteWhitespace("\u00A0\u202F"));
+ assertEquals("test", StringUtils.deleteWhitespace("\u000Bt
\t\n\u0009e\rs\n\n \tt"));
+ }
+
+ public void testReplace_StringStringString() {
+ assertEquals(null, StringUtils.replace(null, null, null));
+ assertEquals(null, StringUtils.replace(null, null, "any"));
+ assertEquals(null, StringUtils.replace(null, "any", null));
+ assertEquals(null, StringUtils.replace(null, "any", "any"));
+
+ assertEquals("", StringUtils.replace("", null, null));
+ assertEquals("", StringUtils.replace("", null, "any"));
+ assertEquals("", StringUtils.replace("", "any", null));
+ assertEquals("", StringUtils.replace("", "any", "any"));
+
+ assertEquals("FOO", StringUtils.replace("FOO", "", "any"));
+ assertEquals("FOO", StringUtils.replace("FOO", null, "any"));
+ assertEquals("FOO", StringUtils.replace("FOO", "F", null));
+ assertEquals("FOO", StringUtils.replace("FOO", null, null));
+
+ assertEquals("", StringUtils.replace("foofoofoo", "foo", ""));
+ assertEquals("barbarbar", StringUtils.replace("foofoofoo", "foo", "bar"));
+ assertEquals("farfarfar", StringUtils.replace("foofoofoo", "oo", "ar"));
+ }
+
+ public void testReplace_StringStringStringInt() {
+ assertEquals(null, StringUtils.replace(null, null, null, 2));
+ assertEquals(null, StringUtils.replace(null, null, "any", 2));
+ assertEquals(null, StringUtils.replace(null, "any", null, 2));
+ assertEquals(null, StringUtils.replace(null, "any", "any", 2));
+
+ assertEquals("f", StringUtils.replace("oofoo", "o", "", -1));
+ assertEquals("oofoo", StringUtils.replace("oofoo", "o", "", 0));
+ assertEquals("ofoo", StringUtils.replace("oofoo", "o", "", 1));
+ assertEquals("foo", StringUtils.replace("oofoo", "o", "", 2));
+ assertEquals("fo", StringUtils.replace("oofoo", "o", "", 3));
+ assertEquals("f", StringUtils.replace("oofoo", "o", "", 4));
+ }
+
+ public void testReplaceOnce_StringStringString() {
+ assertEquals(null, StringUtils.replaceOnce(null, null, null));
+ assertEquals(null, StringUtils.replaceOnce(null, null, "any"));
+ assertEquals(null, StringUtils.replaceOnce(null, "any", null));
+ assertEquals(null, StringUtils.replaceOnce(null, "any", "any"));
+
+ assertEquals("", StringUtils.replaceOnce("", null, null));
+ assertEquals("", StringUtils.replaceOnce("", null, "any"));
+ assertEquals("", StringUtils.replaceOnce("", "any", null));
+ assertEquals("", StringUtils.replaceOnce("", "any", "any"));
+
+ assertEquals("FOO", StringUtils.replaceOnce("FOO", "", "any"));
+ assertEquals("FOO", StringUtils.replaceOnce("FOO", null, "any"));
+ assertEquals("FOO", StringUtils.replaceOnce("FOO", "F", null));
+ assertEquals("FOO", StringUtils.replaceOnce("FOO", null, null));
+
+ assertEquals("foofoo", StringUtils.replaceOnce("foofoofoo", "foo", ""));
}
public void testOverlayString() {
1.69 +66 -64
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.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- StringUtils.java 20 Jul 2003 00:04:12 -0000 1.68
+++ StringUtils.java 20 Jul 2003 00:17:29 -0000 1.69
@@ -250,66 +250,6 @@
return (str == null ? "" : str.trim());
}
- // Delete
- //-----------------------------------------------------------------------
-
- /**
- * <p>Deletes all 'space' characters from a String as defined by
- * [EMAIL PROTECTED] Character#isSpace(char)}.</p>
- *
- * <p>This is the only StringUtils method that uses the
- * <code>isSpace</code> definition. You are advised to use
- * [EMAIL PROTECTED] #deleteWhitespace(String)} instead as whitespace is much
- * better localized.</p>
- *
- * <pre>
- * StringUtils.deleteSpaces(null) = null
- * StringUtils.deleteSpaces("abc") = "abc"
- * StringUtils.deleteSpaces(" \t abc \n ") = "abc"
- * StringUtils.deleteSpaces("ab c") = "abc"
- * StringUtils.deleteSpaces("a\nb\tc ") = "abc"
- * </pre>
- *
- * <p>Spaces are defined as <code>{' ', '\t', '\r', '\n', '\b'}</code>
- * in line with the deprecated <code>isSpace</code> method.</p>
- *
- * @param str the String to delete spaces from, may be null
- * @return the String without 'spaces', <code>null</code> if null String input
- */
- public static String deleteSpaces(String str) {
- if (str == null) {
- return null;
- }
- return CharSetUtils.delete(str, " \t\r\n\b");
- }
-
- /**
- * <p>Deletes all whitespaces from a String as defined by
- * [EMAIL PROTECTED] Character#isWhitespace(char)}.</p>
- *
- * <pre>
- * StringUtils.deleteWhitespace(null) = null
- * StringUtils.deleteWhitespace("abc") = "abc"
- * StringUtils.deleteWhitespace(" abc ") = "abc"
- * </pre>
- *
- * @param str the String to delete whitespace from, may be null
- * @return the String without whitespaces, <code>null</code> if null String
input
- */
- public static String deleteWhitespace(String str) {
- if (str == null) {
- return null;
- }
- int sz = str.length();
- StringBuffer buffer = new StringBuffer(sz);
- for (int i = 0; i < sz; i++) {
- if (!Character.isWhitespace(str.charAt(i))) {
- buffer.append(str.charAt(i));
- }
- }
- return buffer.toString();
- }
-
// Empty checks
//-----------------------------------------------------------------------
@@ -1577,11 +1517,73 @@
return buf.toString();
}
+ // Delete
+ //-----------------------------------------------------------------------
+
+ /**
+ * <p>Deletes all 'space' characters from a String as defined by
+ * [EMAIL PROTECTED] Character#isSpace(char)}.</p>
+ *
+ * <p>This is the only StringUtils method that uses the
+ * <code>isSpace</code> definition. You are advised to use
+ * [EMAIL PROTECTED] #deleteWhitespace(String)} instead as whitespace is much
+ * better localized.</p>
+ *
+ * <pre>
+ * StringUtils.deleteSpaces(null) = null
+ * StringUtils.deleteSpaces("abc") = "abc"
+ * StringUtils.deleteSpaces(" \t abc \n ") = "abc"
+ * StringUtils.deleteSpaces("ab c") = "abc"
+ * StringUtils.deleteSpaces("a\nb\tc ") = "abc"
+ * </pre>
+ *
+ * <p>Spaces are defined as <code>{' ', '\t', '\r', '\n', '\b'}</code>
+ * in line with the deprecated <code>isSpace</code> method.</p>
+ *
+ * @param str the String to delete spaces from, may be null
+ * @return the String without 'spaces', <code>null</code> if null String input
+ * @deprecated Use the better localized [EMAIL PROTECTED]
#deleteWhitespace(String)}.
+ * Method will be removed in Commons Lang 3.0.
+ */
+ public static String deleteSpaces(String str) {
+ if (str == null) {
+ return null;
+ }
+ return CharSetUtils.delete(str, " \t\r\n\b");
+ }
+
+ /**
+ * <p>Deletes all whitespaces from a String as defined by
+ * [EMAIL PROTECTED] Character#isWhitespace(char)}.</p>
+ *
+ * <pre>
+ * StringUtils.deleteWhitespace(null) = null
+ * StringUtils.deleteWhitespace("abc") = "abc"
+ * StringUtils.deleteWhitespace(" abc ") = "abc"
+ * </pre>
+ *
+ * @param str the String to delete whitespace from, may be null
+ * @return the String without whitespaces, <code>null</code> if null String
input
+ */
+ public static String deleteWhitespace(String str) {
+ if (str == null) {
+ return null;
+ }
+ int sz = str.length();
+ StringBuffer buffer = new StringBuffer(sz);
+ for (int i = 0; i < sz; i++) {
+ if (!Character.isWhitespace(str.charAt(i))) {
+ buffer.append(str.charAt(i));
+ }
+ }
+ return buffer.toString();
+ }
+
// Replacing
//-----------------------------------------------------------------------
/**
- * <p>Replace a String with another String inside a larger String, once.</p>
+ * <p>Replaces a String with another String inside a larger String, once.</p>
*
* <p>A <code>null</code> reference passed to this method is a no-op.</p>
*
@@ -1606,7 +1608,7 @@
}
/**
- * <p>Replace all occurances of a String within another String.</p>
+ * <p>Replaces all occurances of a String within another String.</p>
*
* <p>A <code>null</code> reference passed to this method is a no-op.</p>
*
@@ -1631,7 +1633,7 @@
}
/**
- * <p>Replace a String with another String inside a larger String,
+ * <p>Replaces a String with another String inside a larger String,
* for the first <code>max</code> values of the search String.</p>
*
* <p>A <code>null</code> reference passed to this method is a no-op.</p>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]