You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ki...@apache.org on 2017/10/20 21:44:39 UTC

[1/2] [text] TEXT-100: Fix escape signs in #unescapeJson

Repository: commons-text
Updated Branches:
  refs/heads/master 804e4599b -> de635ddc2


TEXT-100: Fix escape signs in #unescapeJson

This closes #72


Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/c9f92a02
Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/c9f92a02
Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/c9f92a02

Branch: refs/heads/master
Commit: c9f92a02f8c0ddfc8e8f30fadf2ac932072ae284
Parents: 804e459
Author: drajakumar <dr...@paypal.com>
Authored: Wed Oct 18 21:44:46 2017 +0530
Committer: Bruno P. Kinoshita <br...@yahoo.com.br>
Committed: Sat Oct 21 10:38:45 2017 +1300

----------------------------------------------------------------------
 .../java/org/apache/commons/text/StringEscapeUtils.java     | 9 ++++++++-
 .../java/org/apache/commons/text/StringEscapeUtilsTest.java | 9 ++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-text/blob/c9f92a02/src/main/java/org/apache/commons/text/StringEscapeUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/StringEscapeUtils.java b/src/main/java/org/apache/commons/text/StringEscapeUtils.java
index 3ac66ff..cd15a8a 100644
--- a/src/main/java/org/apache/commons/text/StringEscapeUtils.java
+++ b/src/main/java/org/apache/commons/text/StringEscapeUtils.java
@@ -302,7 +302,14 @@ public class StringEscapeUtils {
      * object allows the Json unescaping functionality to be used
      * as the foundation for a custom translator.
      */
-    public static final CharSequenceTranslator UNESCAPE_JSON = UNESCAPE_JAVA;
+    public static final CharSequenceTranslator UNESCAPE_JSON;
+    static {
+        UNESCAPE_JSON = new AggregateTranslator(
+                new OctalUnescaper(),     // .between('\1', '\377'),
+                new UnicodeUnescaper(),
+                new LookupTranslator(EntityArrays.JAVA_CTRL_CHARS_UNESCAPE)
+        );
+    }
 
     /**
      * Translator object for unescaping escaped HTML 3.0.

http://git-wip-us.apache.org/repos/asf/commons-text/blob/c9f92a02/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java
index 7236b03..db2bea1 100644
--- a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java
+++ b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java
@@ -620,7 +620,7 @@ public class StringEscapeUtilsTest {
         assertEquals(jsonString, StringEscapeUtils.unescapeJson(jsonString));
     }
 
-    @Ignore("https://issues.apache.org/jira/browse/TEXT-100.")
+    //@Ignore("https://issues.apache.org/jira/browse/TEXT-100.")
     @Test
     public void testUnescapeJsonFoundBug_Issue_Text_100() {
         final String jsonString = "{\"age\":100,\"name\":\"m\\\"kyong.com\",\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"]}";
@@ -628,4 +628,11 @@ public class StringEscapeUtilsTest {
         assertEquals(jsonString, StringEscapeUtils.unescapeJson(jsonString));
     }
 
+    @Test
+    public void testUnescapeJsonFoundBug_Issue_Text_100_Fix() {
+        final String jsonString = "{\"age\":100,\"name\":\"n\\\"m\\\"kyong.com\",\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"]}";
+
+        assertEquals(jsonString, StringEscapeUtils.unescapeJson(jsonString));
+    }
+
 }
\ No newline at end of file


[2/2] [text] TEXT-100 add changes.xml entry

Posted by ki...@apache.org.
TEXT-100 add changes.xml entry


Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/de635ddc
Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/de635ddc
Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/de635ddc

Branch: refs/heads/master
Commit: de635ddc2ba6cdfbd876e8960b431e15f077aa2f
Parents: c9f92a0
Author: Bruno P. Kinoshita <br...@yahoo.com.br>
Authored: Sat Oct 21 10:44:12 2017 +1300
Committer: Bruno P. Kinoshita <br...@yahoo.com.br>
Committed: Sat Oct 21 10:44:12 2017 +1300

----------------------------------------------------------------------
 src/changes/changes.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-text/blob/de635ddc/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index fdd2ccc..e43bd8f 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -46,6 +46,7 @@ The <action> type attribute can be add,update,fix,remove.
   <body>
 
   <release version="1.2" date="2017-MM-DD" description="Release 1.2">
+    <action issue="TEXT-100" type="fix" dev="kinow" due-to="Don Jeba">StringEscapeUtils#UnEscapeJson doesn't recognize escape signs correctly</action>
     <action issue="TEXT-74" type="add" dev="chtompki" due-to="Ioannis Sermetziadis">StrSubstitutor: Ability to turn off substitution in values</action>
     <action issue="TEXT-97" type="add" dev="chtompki" due-to="Amey Jadiye">RandomStringGenerator able to pass multiple ranges to .withinRange()</action>
     <action issue="TEXT-98" type="update" dev="chtompki" due-to="Arun Vinud S S">Deprecate isDelimiter and use HashSets for delimiter checks</action>