Chromium Code Reviews| Index: net/base/escape_unittest.cc |
| diff --git a/net/base/escape_unittest.cc b/net/base/escape_unittest.cc |
| index 1e82239b8959430bb66713b9e532d2c1d560c508..bc16cffcea497ee9a15bc585cc0cf58d3e6ec353 100644 |
| --- a/net/base/escape_unittest.cc |
| +++ b/net/base/escape_unittest.cc |
| @@ -479,6 +479,39 @@ TEST(EscapeTest, UnescapeForHTML) { |
| } |
| } |
| +TEST(EscapeTest, EscapeExternalHandlerValue) { |
| + ASSERT_EQ( |
| + // Escaped |
| + "%02%0A%1D%20!%22#$%25&'()*+,-./0123456789:;" |
| + "%3C=%3E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
| + "[%5C]%5E_%60abcdefghijklmnopqrstuvwxyz" |
| + "%7B%7C%7D~%7F%80%FF", |
| + // Most of the character space we care about, un-escaped |
| + EscapeExternalHandlerValue( |
| + "\x02\n\x1d !\"#$%&'()*+,-./0123456789:;" |
| + "<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
| + "[\\]^_`abcdefghijklmnopqrstuvwxyz" |
| + "{|}~\x7f\x80\xff")); |
| + |
| + ASSERT_EQ( |
| + "!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_" |
| + "abcdefghijklmnopqrstuvwxyz~", |
| + EscapeExternalHandlerValue( |
| + "!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_" |
| + "abcdefghijklmnopqrstuvwxyz~")); |
| + |
| + ASSERT_EQ("%258k,a%25,%25a,a%258", |
| + EscapeExternalHandlerValue("%8k,a%,%a,a%8")); |
|
asanka
2014/10/23 19:17:13
I meant these to be separate tests cases. The "% n
Jaekyun Seok (inactive)
2014/10/24 00:01:47
Done.
|
| + |
| + ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C", |
| + EscapeExternalHandlerValue( |
| + "http://example.com/path/sub?q=a|b|c&q=1|2|3#ref|")); |
| + ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C", |
| + EscapeExternalHandlerValue( |
| + "http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C")); |
| + ASSERT_EQ("http://[2001:db8:0:1]:80", |
| + EscapeExternalHandlerValue("http://[2001:db8:0:1]:80")); |
| +} |
| } // namespace |
| } // namespace net |