You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Pascal Schumacher (JIRA)" <ji...@apache.org> on 2018/05/17 19:12:00 UTC

[jira] [Commented] (TEXT-118) JSON escaping incorrect for the delete control character

    [ https://issues.apache.org/jira/browse/TEXT-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479579#comment-16479579 ] 

Pascal Schumacher commented on TEXT-118:
----------------------------------------

Pull request welcome! :-)

> JSON escaping incorrect for the delete control character
> --------------------------------------------------------
>
>                 Key: TEXT-118
>                 URL: https://issues.apache.org/jira/browse/TEXT-118
>             Project: Commons Text
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: JDK8u162, Mac OS X 13.something.
>            Reporter: Dan Wallach
>            Priority: Minor
>
> Here's a simple unit test. The assertion about backspace succeeds. The assertion about the delete character fails. Instead, the delete character shows up in the escaped text. This violates the JSON spec, which forbids "control characters" in strings.
> {code:java}
> @Test
> public void testDeleteCharacter() {
>   String backspaceString = "Backspace: \b";
>   String deleteString = "Delete: \u007F";
>   assertEquals("Backspace: \\b", StringEscapeUtils.escapeJson(backspaceString));
>   assertEquals("Delete: \\u007F", StringEscapeUtils.escapeJson(deleteString));
> }
> {code}
>  
> The JSON spec doesn't have a specific escape for a delete character, but it does explicitly exclude control characters from passing through. I'd recommend behavior as in the above unit test.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)