Skip to content

Commit 342e553

Browse files
committed
Improve escape/unescape methods.
1 parent f357fbe commit 342e553

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/main/java/com/github/underscore/$.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,14 +1653,14 @@ public static long now() {
16531653
return new Date().getTime();
16541654
}
16551655

1656-
public static String escape(String value) {
1656+
public static String escape(final String value) {
16571657
return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;")
1658-
.replaceAll("\"", "&quot;");
1658+
.replaceAll("\"", "&quot;").replaceAll("'", "&#x27;").replaceAll("`", "&#x60;");
16591659
}
16601660

1661-
public static String unescape(String value) {
1662-
return value.replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&quot;", "\"")
1663-
.replaceAll("&amp;", "&");
1661+
public static String unescape(final String value) {
1662+
return value.replaceAll("&#x60;", "`").replaceAll("&#x27;", "'").replaceAll("&lt;", "<")
1663+
.replaceAll("&gt;", ">").replaceAll("&quot;", "\"").replaceAll("&amp;", "&");
16641664
}
16651665

16661666
public static <E> Object result(final Iterable<E> iterable, final Predicate<E> pred) {

src/test/java/com/github/underscore/UtilityTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,21 +155,21 @@ public String apply(final String string) {
155155
}
156156

157157
/*
158-
_.escape('Curly, Larry & Moe');
159-
=> "Curly, Larry &amp; Moe"
158+
_.escape('Curly, Larry & Moe < > "\'`');
159+
=> "Curly, Larry &amp; Moe &lt; &gt; &quot;&#x27;&#x60;"
160160
*/
161161
@Test
162162
public void escape() {
163-
assertEquals("Curly, Larry &amp; Moe", $.escape("Curly, Larry & Moe"));
163+
assertEquals("Curly, Larry &amp; Moe &lt; &gt; &quot;&#x27;&#x60;", $.escape("Curly, Larry & Moe < > \"'`"));
164164
}
165165

166166
/*
167-
_.unescape('Curly, Larry &amp; Moe');
168-
=> "Curly, Larry & Moe"
167+
_.unescape('Curly, Larry &amp; Moe &lt; &gt; &quot;&#x27;&#x60;');
168+
=> "Curly, Larry & Moe < > \"'`"
169169
*/
170170
@Test
171171
public void unescape() {
172-
assertEquals("Curly, Larry & Moe", $.unescape("Curly, Larry &amp; Moe"));
172+
assertEquals("Curly, Larry & Moe < > \"'`", $.unescape("Curly, Larry &amp; Moe &lt; &gt; &quot;&#x27;&#x60;"));
173173
}
174174

175175
/*

0 commit comments

Comments
 (0)