Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: net/base/escape_unittest.cc

Issue 646333002: Update EscapeExternalHandlerValue to keep '#', '[', and ']' (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« net/base/escape.cc ('K') | « net/base/escape.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 { "&lt;", "<" }, 446 { "&lt;", "<" },
447 { "&gt;", ">" }, 447 { "&gt;", ">" },
448 { "&amp; &", "& &" }, 448 { "&amp; &", "& &" },
449 }; 449 };
450 for (size_t i = 0; i < arraysize(tests); ++i) { 450 for (size_t i = 0; i < arraysize(tests); ++i) {
451 base::string16 result = UnescapeForHTML(base::ASCIIToUTF16(tests[i].input)); 451 base::string16 result = UnescapeForHTML(base::ASCIIToUTF16(tests[i].input));
452 EXPECT_EQ(base::ASCIIToUTF16(tests[i].expected_output), result); 452 EXPECT_EQ(base::ASCIIToUTF16(tests[i].expected_output), result);
453 } 453 }
454 } 454 }
455 455
456 TEST(EscapeTest, EscapeExternalHandlerValue) {
asanka 2014/10/23 07:20:04 Add a test case for invalid percent escape sequenc
asanka 2014/10/23 07:20:04 Have a test case for our identity set: "!#$&'()*+
Jaekyun Seok (inactive) 2014/10/23 12:43:19 Done.
Jaekyun Seok (inactive) 2014/10/23 12:43:19 Done.
457 ASSERT_EQ(
458 // Escaped
459 "%02%0A%1D%20!%22#$%25&'()*+,-./0123456789:;"
460 "%3C=%3E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
461 "[%5C]%5E_%60abcdefghijklmnopqrstuvwxyz"
462 "%7B%7C%7D~%7F%80%FF",
463 // Most of the character space we care about, un-escaped
464 EscapeExternalHandlerValue(
465 "\x02\n\x1d !\"#$%&'()*+,-./0123456789:;"
466 "<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
467 "[\\]^_`abcdefghijklmnopqrstuvwxyz"
468 "{|}~\x7f\x80\xff"));
469
470 ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C",
471 EscapeExternalHandlerValue(
472 "http://example.com/path/sub?q=a|b|c&q=1|2|3#ref|"));
473 ASSERT_EQ("http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C",
474 EscapeExternalHandlerValue(
475 "http://example.com/path/sub?q=a%7Cb%7Cc&q=1%7C2%7C3#ref%7C"));
476 ASSERT_EQ("http://[2001:db8:0:1]:80",
477 EscapeExternalHandlerValue("http://[2001:db8:0:1]:80"));
478 }
456 479
457 } // namespace 480 } // namespace
458 } // namespace net 481 } // namespace net
OLDNEW
« net/base/escape.cc ('K') | « net/base/escape.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698