You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ba...@apache.org on 2003/06/22 00:24:56 UTC
cvs commit: jakarta-commons/lang/src/test/org/apache/commons/lang StringUtilsTest.java
bayard 2003/06/21 15:24:56
Modified: lang/src/java/org/apache/commons/lang StringUtils.java
lang/src/test/org/apache/commons/lang StringUtilsTest.java
Log:
Bug #20652 fixed.
Submitted by: Fredrik Westermarck
Revision Changes Path
1.47 +4 -1 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.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- StringUtils.java 8 Jun 2003 14:10:54 -0000 1.46
+++ StringUtils.java 21 Jun 2003 22:24:55 -0000 1.47
@@ -1048,6 +1048,9 @@
*/
public static String chopNewline(String str) {
int lastIdx = str.length() - 1;
+ if (lastIdx == 0) {
+ return "";
+ }
char last = str.charAt(lastIdx);
if (last == '\n') {
if (str.charAt(lastIdx - 1) == '\r') {
1.20 +22 -1 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.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- StringUtilsTest.java 16 Apr 2003 04:37:33 -0000 1.19
+++ StringUtilsTest.java 21 Jun 2003 22:24:56 -0000 1.20
@@ -333,6 +333,27 @@
"foo", StringUtils.chomp("foo", "foooo"));
}
+ public void testChopNewLine() {
+
+ String[][] newLineCases = {
+ { FOO + "\r\n", FOO } ,
+ { FOO + "\n" , FOO } ,
+ { FOO + "\r", FOO + "\r" },
+ { FOO, FOO },
+ { FOO + "\n" + FOO , FOO + "\n" + FOO },
+ { FOO + "\n\n", FOO + "\n"},
+ { "\n", "" },
+ { "\r\n", "" }
+ };
+
+ for (int i = 0; i < newLineCases.length; i++) {
+ String original = newLineCases[i][0];
+ String expectedResult = newLineCases[i][1];
+ assertEquals("chopNewline(String) failed",
+ expectedResult, StringUtils.chopNewline(original));
+ }
+ }
+
public void testSliceFunctions() {
String[][] sliceCases = {
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org