/** Tests that if we add extra 'safe' characters they remain unescaped */ public void testCustomEscaper() { UnicodeEscaper e = new PercentEscaper("+*/-", false); for (char c = 0; c < 128; c++) { if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || "+*/-".indexOf(c) >= 0) { assertUnescaped(e, c); } else { assertEscaping(e, escapeAscii(c), c); } } }
/** Tests that the simple escaper treats 0-9, a-z and A-Z as safe */ public void testSimpleEscaper() { UnicodeEscaper e = new PercentEscaper("", false); for (char c = 0; c < 128; c++) { if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { assertUnescaped(e, c); } else { assertEscaping(e, escapeAscii(c), c); } } // Testing mutlibyte escape sequences assertEscaping(e, "%00", '\u0000'); // nul assertEscaping(e, "%7F", '\u007f'); // del assertEscaping(e, "%C2%80", '\u0080'); // xx-00010,x-000000 assertEscaping(e, "%DF%BF", '\u07ff'); // xx-11111,x-111111 assertEscaping(e, "%E0%A0%80", '\u0800'); // xxx-0000,x-100000,x-00,0000 assertEscaping(e, "%EF%BF%BF", '\uffff'); // xxx-1111,x-111111,x-11,1111 assertUnicodeEscaping(e, "%F0%90%80%80", '\uD800', '\uDC00'); assertUnicodeEscaping(e, "%F4%8F%BF%BF", '\uDBFF', '\uDFFF'); // simple string tests assertEquals("", e.escape("")); assertEquals("safestring", e.escape("safestring")); assertEquals("embedded%00null", e.escape("embedded\0null")); assertEquals("max%EF%BF%BFchar", e.escape("max\uffffchar")); }
/** Tests that if we add extra 'safe' characters they remain unescaped */ public void testCustomEscaper() { UnicodeEscaper e = new PercentEscaper("+*/-", false); for (char c = 0; c < 128; c++) { if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || "+*/-".indexOf(c) >= 0) { assertUnescaped(e, c); } else { assertEscaping(e, escapeAscii(c), c); } } }
/** Tests that the simple escaper treats 0-9, a-z and A-Z as safe */ public void testSimpleEscaper() { UnicodeEscaper e = new PercentEscaper("", false); for (char c = 0; c < 128; c++) { if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { assertUnescaped(e, c); } else { assertEscaping(e, escapeAscii(c), c); } } // Testing mutlibyte escape sequences assertEscaping(e, "%00", '\u0000'); // nul assertEscaping(e, "%7F", '\u007f'); // del assertEscaping(e, "%C2%80", '\u0080'); // xx-00010,x-000000 assertEscaping(e, "%DF%BF", '\u07ff'); // xx-11111,x-111111 assertEscaping(e, "%E0%A0%80", '\u0800'); // xxx-0000,x-100000,x-00,0000 assertEscaping(e, "%EF%BF%BF", '\uffff'); // xxx-1111,x-111111,x-11,1111 assertUnicodeEscaping(e, "%F0%90%80%80", '\uD800', '\uDC00'); assertUnicodeEscaping(e, "%F4%8F%BF%BF", '\uDBFF', '\uDFFF'); // simple string tests assertEquals("", e.escape("")); assertEquals("safestring", e.escape("safestring")); assertEquals("embedded%00null", e.escape("embedded\0null")); assertEquals("max%EF%BF%BFchar", e.escape("max\uffffchar")); }