You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2008/04/02 18:09:24 UTC

[jira] Resolved: (LANG-421) StringEscapeUtils.escapeJava(String) escapes '/' characters

     [ https://issues.apache.org/jira/browse/LANG-421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Gregory resolved LANG-421.
-------------------------------

       Resolution: Fixed
    Fix Version/s: Nightly Builds
                   3.0

Fixed. Added unit test method based on attachment provided.

> StringEscapeUtils.escapeJava(String) escapes '/' characters
> -----------------------------------------------------------
>
>                 Key: LANG-421
>                 URL: https://issues.apache.org/jira/browse/LANG-421
>             Project: Commons Lang
>          Issue Type: Bug
>    Affects Versions: 2.4
>            Reporter: Steve Hanmann
>            Assignee: Gary Gregory
>            Priority: Blocker
>             Fix For: 3.0, Nightly Builds
>
>         Attachments: StringEscapeUtilsTest.java
>
>
> Commons Lang 2.4 StringEscapeUtils.escapeJava(String) now escapes '/' characters, which is not a valid "escapable" character in Java strings.  I haven't tried the other Java escape/unescape methods to see if they have a similar problem, or that only Java "escapable" characters are escaped by escapeJava(String).
> This bug may have appeared as an unintended side-effect of the fix for LANG-363.
> Also the javadoc for escapeJava is now a little off, in that '/' should now be included in the sentence describing the differences between Java and Javascript strings, with respect to escaping rules.
> The following is a JUnit3 test demonstrating the bug.
> import junit.framework.TestCase;
> import org.apache.commons.lang.StringEscapeUtils;
> public class StringEscapeUtilsTest extends TestCase {
>     public void testEscapeJavaWithSlash() {
>         final String input = "String with a slash (/) in it";
>         
>         final String expected = input;
>         final String actual   = StringEscapeUtils.escapeJava( input );
>         /**
>          * In 2.4 StringEscapeUtils.escapeJava(String) escapes '/' characters,
>          * which are not a valid character to escape in a Java string.  
>          */
>         assertEquals( expected, actual );
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.