SLING-6916 JCR Content Parser: Tick parsing fails when string contains escaped escaped character

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1796649 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.java b/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.java
index 3d2cf9d..691873c 100644
--- a/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.java
+++ b/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.java
@@ -50,6 +50,9 @@
                     if (in != '\'') {
                         output.append("\\");
                     }
+                    if (in == '\\') {
+                        output.append("\\");
+                    }
                     escaped = false;
                 }
                 else {
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverterTest.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverterTest.java
index dfec3a0..d8c373a 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverterTest.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonTicksConverterTest.java
@@ -69,4 +69,9 @@
         assertEquals("{\"p\":\"\\u03A9\\u03A6\\u00A5\"}", tickToDoubleQuote("{'p':\"\\u03A9\\u03A6\\u00A5\"}"));
     }
 
+    @Test
+    public void testTickToQuoteWithDoubleBackslash() {
+        assertEquals("{\"p\":\"aa\\\\bb\"}", tickToDoubleQuote("{'p':\"aa\\\\bb\"}"));
+    }
+
 }