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