diff --git a/src/main/java/org/apache/commons/text/StringEscapeUtils.java b/src/main/java/org/apache/commons/text/StringEscapeUtils.java index 49aa7746a7..3b9ee13b28 100644 --- a/src/main/java/org/apache/commons/text/StringEscapeUtils.java +++ b/src/main/java/org/apache/commons/text/StringEscapeUtils.java @@ -363,6 +363,7 @@ public int translate(final CharSequence input, final int index, final Writer wri escapeXsiMap.put("*", "\\*"); escapeXsiMap.put("?", "\\?"); escapeXsiMap.put("[", "\\["); + escapeXsiMap.put("{", "\\{"); escapeXsiMap.put("#", "\\#"); escapeXsiMap.put("~", "\\~"); escapeXsiMap.put("=", "\\="); diff --git a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java index e4bcf1a32d..71bece1b85 100644 --- a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java +++ b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java @@ -377,6 +377,7 @@ void testEscapeXSI() { assertEquals("He\\ didn\\'t\\ say,\\ \\\"Stop!\\\"", escapeXSI("He didn't say, \"Stop!\"")); assertEquals("\\\\", escapeXSI("\\")); assertEquals("", escapeXSI("\n")); + assertEquals("\\{report.txt,-delete}", escapeXSI("{report.txt,-delete}")); } @Test @@ -605,5 +606,6 @@ void testUnscapeXSI() { assertEquals("He didn't say, \"Stop!\"", unescapeXSI("He\\ didn\\'t\\ say,\\ \\\"Stop!\\\"")); assertEquals("\\", unescapeXSI("\\\\")); assertEquals("", unescapeXSI("\\")); + assertEquals("{report.txt,-delete}", unescapeXSI(escapeXSI("{report.txt,-delete}"))); } }