commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Hanmann (JIRA)" <>
Subject [jira] Created: (LANG-421) StringEscapeUtils.escapeJava(String) escapes '/' characters
Date Wed, 02 Apr 2008 15:43:31 GMT
StringEscapeUtils.escapeJava(String) escapes '/' characters

                 Key: LANG-421
             Project: Commons Lang
          Issue Type: Bug
    Affects Versions: 2.4
            Reporter: Steve Hanmann
            Priority: Blocker

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.

View raw message