Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <algorithm> | 5 #include <algorithm> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "net/base/escape.h" | 8 #include "net/base/escape.h" |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 472 { "<", "<" }, | 472 { "<", "<" }, |
| 473 { ">", ">" }, | 473 { ">", ">" }, |
| 474 { "& &", "& &" }, | 474 { "& &", "& &" }, |
| 475 }; | 475 }; |
| 476 for (size_t i = 0; i < arraysize(tests); ++i) { | 476 for (size_t i = 0; i < arraysize(tests); ++i) { |
| 477 base::string16 result = UnescapeForHTML(base::ASCIIToUTF16(tests[i].input)); | 477 base::string16 result = UnescapeForHTML(base::ASCIIToUTF16(tests[i].input)); |
| 478 EXPECT_EQ(base::ASCIIToUTF16(tests[i].expected_output), result); | 478 EXPECT_EQ(base::ASCIIToUTF16(tests[i].expected_output), result); |
| 479 } | 479 } |
| 480 } | 480 } |
| 481 | 481 |
| 482 TEST(EscapeTest, EscapeExternalHandlerValue) { | |
| 483 ASSERT_EQ( | |
| 484 // Escaped | |
| 485 "%02%0A%1D%20!%22#$%25&'()*+,-./0123456789:;" | |
| 486 "%3C=%3E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
| 487 "[%5C]%5E_%60abcdefghijklmnopqrstuvwxyz" | |
| 488 "%7B%7C%7D~%7F%80%FF", | |
| 489 // Most of the character space we care about, un-escaped | |
| 490 EscapeExternalHandlerValue( | |
| 491 "\x02\n\x1d !\"#$%&'()*+,-./0123456789:;" | |
| 492 "<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
| 493 "[\\]^_`abcdefghijklmnopqrstuvwxyz" | |
| 494 "{|}~\x7f\x80\xff")); | |
| 495 | |
| 496 ASSERT_EQ( | |
| 497 "!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_" | |
| 498 "abcdefghijklmnopqrstuvwxyz~", | |
| 499 EscapeExternalHandlerValue( | |
| 500 "!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_" | |
| 501 "abcdefghijklmnopqrstuvwxyz~")); | |
| 502 | |
| 503 ASSERT_EQ("%258k,a%25,%25a,a%258", | |
| 504 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.
| |
| 505 | |
| 506 ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C", | |
| 507 EscapeExternalHandlerValue( | |
| 508 "http://example.com/path/sub?q=a|b|c&q=1|2|3#ref|")); | |
| 509 ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C", | |
| 510 EscapeExternalHandlerValue( | |
| 511 "http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C")); | |
| 512 ASSERT_EQ("http://[2001:db8:0:1]:80", | |
| 513 EscapeExternalHandlerValue("http://[2001:db8:0:1]:80")); | |
| 514 } | |
| 482 | 515 |
| 483 } // namespace | 516 } // namespace |
| 484 } // namespace net | 517 } // namespace net |
| OLD | NEW |