Index: net/base/escape_unittest.cc |
diff --git a/net/base/escape_unittest.cc b/net/base/escape_unittest.cc |
index 98afb8cfb4373197a515cb8920499e7fe9ff5bd3..b6f022918ae6e639ad5ac93fd088efd859cf6443 100644 |
--- a/net/base/escape_unittest.cc |
+++ b/net/base/escape_unittest.cc |
@@ -182,10 +182,12 @@ TEST(EscapeTest, UnescapeURLComponentASCII) { |
// Control characters. |
{"%01%02%03%04%05%06%07%08%09 %25", UnescapeRule::URL_SPECIAL_CHARS, |
"%01%02%03%04%05%06%07%08%09 %"}, |
- {"%01%02%03%04%05%06%07%08%09 %25", UnescapeRule::CONTROL_CHARS, |
+ {"%01%02%03%04%05%06%07%08%09 %25", |
+ UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
"\x01\x02\x03\x04\x05\x06\x07\x08\x09 %25"}, |
{"Hello%20%13%10%02", UnescapeRule::SPACES, "Hello %13%10%02"}, |
- {"Hello%20%13%10%02", UnescapeRule::CONTROL_CHARS, "Hello%20\x13\x10\x02"}, |
+ {"Hello%20%13%10%02", UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
+ "Hello%20\x13\x10\x02"}, |
}; |
for (size_t i = 0; i < arraysize(unescape_cases); i++) { |
@@ -205,7 +207,8 @@ TEST(EscapeTest, UnescapeURLComponentASCII) { |
expected.push_back(0); |
expected.push_back(0); |
expected.append("9Test"); |
- EXPECT_EQ(expected, UnescapeURLComponent(input, UnescapeRule::CONTROL_CHARS)); |
+ EXPECT_EQ(expected, UnescapeURLComponent( |
+ input, UnescapeRule::SPOOFING_AND_CONTROL_CHARS)); |
// When we're not unescaping NULLs. |
expected = "Null"; |
@@ -233,7 +236,7 @@ TEST(EscapeTest, UnescapeURLComponent) { |
L"Some%20random text %25\xE2\x80\x84OK"}, |
// BiDi Control characters should not be unescaped unless explicity told to |
- // do so with UnescapeRule::CONTROL_CHARS |
+ // do so with UnescapeRule::SPOOFING_AND_CONTROL_CHARS |
{L"Some%20random text %25%D8%9COK", UnescapeRule::NORMAL, |
L"Some%20random text %25%D8%9COK"}, |
{L"Some%20random text %25%E2%80%8EOK", UnescapeRule::NORMAL, |
@@ -250,32 +253,62 @@ TEST(EscapeTest, UnescapeURLComponent) { |
L"Some%20random text %25%E2%81%A6OK"}, |
{L"Some%20random text %25%E2%81%A9OK", UnescapeRule::NORMAL, |
L"Some%20random text %25%E2%81%A9OK"}, |
- // UnescapeRule::CONTROL_CHARS should unescape BiDi Control characters. |
+ // UnescapeRule::SPOOFING_AND_CONTROL_CHARS should unescape BiDi Control |
+ // characters. |
{L"Some%20random text %25%D8%9COK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xD8\x9COK"}, |
{L"Some%20random text %25%E2%80%8EOK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x80\x8EOK"}, |
{L"Some%20random text %25%E2%80%8FOK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x80\x8FOK"}, |
{L"Some%20random text %25%E2%80%AAOK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x80\xAAOK"}, |
{L"Some%20random text %25%E2%80%ABOK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x80\xABOK"}, |
{L"Some%20random text %25%E2%80%AEOK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x80\xAEOK"}, |
{L"Some%20random text %25%E2%81%A6OK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x81\xA6OK"}, |
{L"Some%20random text %25%E2%81%A9OK", |
- UnescapeRule::NORMAL | UnescapeRule::CONTROL_CHARS, |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Some%20random text %25\xE2\x81\xA9OK"}, |
+ // Certain banned characters should not be unescaped unless explicitly told |
+ // to do so with UnescapeRule::SPOOFING_AND_CONTROL_CHARS. |
+ // U+1F50F LOCK WITH INK PEN |
+ {L"Some%20random text %25%F0%9F%94%8FOK", UnescapeRule::NORMAL, |
+ L"Some%20random text %25%F0%9F%94%8FOK"}, |
+ // U+1F510 CLOSED LOCK WITH KEY |
+ {L"Some%20random text %25%F0%9F%94%90OK", UnescapeRule::NORMAL, |
+ L"Some%20random text %25%F0%9F%94%90OK"}, |
+ // U+1F512 LOCK |
+ {L"Some%20random text %25%F0%9F%94%92OK", UnescapeRule::NORMAL, |
+ L"Some%20random text %25%F0%9F%94%92OK"}, |
+ // U+1F513 OPEN LOCK |
+ {L"Some%20random text %25%F0%9F%94%93OK", UnescapeRule::NORMAL, |
+ L"Some%20random text %25%F0%9F%94%93OK"}, |
+ // UnescapeRule::SPOOFING_AND_CONTROL_CHARS should unescape banned |
+ // characters. |
+ {L"Some%20random text %25%F0%9F%94%8FOK", |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
+ L"Some%20random text %25\xF0\x9F\x94\x8FOK"}, |
+ {L"Some%20random text %25%F0%9F%94%90OK", |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
+ L"Some%20random text %25\xF0\x9F\x94\x90OK"}, |
+ {L"Some%20random text %25%F0%9F%94%92OK", |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
+ L"Some%20random text %25\xF0\x9F\x94\x92OK"}, |
+ {L"Some%20random text %25%F0%9F%94%93OK", |
+ UnescapeRule::NORMAL | UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
+ L"Some%20random text %25\xF0\x9F\x94\x93OK"}, |
+ |
{L"Some%20random text %25%2dOK", UnescapeRule::SPACES, |
L"Some random text %25-OK"}, |
{L"Some%20random text %25%2dOK", UnescapeRule::URL_SPECIAL_CHARS, |
@@ -298,12 +331,13 @@ TEST(EscapeTest, UnescapeURLComponent) { |
// Control characters. |
{L"%01%02%03%04%05%06%07%08%09 %25", UnescapeRule::URL_SPECIAL_CHARS, |
L"%01%02%03%04%05%06%07%08%09 %"}, |
- {L"%01%02%03%04%05%06%07%08%09 %25", UnescapeRule::CONTROL_CHARS, |
+ {L"%01%02%03%04%05%06%07%08%09 %25", |
+ UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"\x01\x02\x03\x04\x05\x06\x07\x08\x09 %25"}, |
{L"Hello%20%13%10%02", UnescapeRule::SPACES, L"Hello %13%10%02"}, |
- {L"Hello%20%13%10%02", UnescapeRule::CONTROL_CHARS, |
+ {L"Hello%20%13%10%02", UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Hello%20\x13\x10\x02"}, |
- {L"Hello\x9824\x9827", UnescapeRule::CONTROL_CHARS, |
+ {L"Hello\x9824\x9827", UnescapeRule::SPOOFING_AND_CONTROL_CHARS, |
L"Hello\x9824\x9827"}, |
}; |
@@ -324,7 +358,8 @@ TEST(EscapeTest, UnescapeURLComponent) { |
expected.push_back(0); |
expected.push_back(0); |
expected.append(base::ASCIIToUTF16("9Test")); |
- EXPECT_EQ(expected, UnescapeURLComponent(input, UnescapeRule::CONTROL_CHARS)); |
+ EXPECT_EQ(expected, UnescapeURLComponent( |
+ input, UnescapeRule::SPOOFING_AND_CONTROL_CHARS)); |
// When we're not unescaping NULLs. |
expected = base::WideToUTF16(L"Null"); |