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

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

Issue 7046077: Revert 88510 - Escaping file names correctly. Also fixed a crush in chromeos debug build while sa... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 "%7B%7C%7D~%7F%80%FF"); 140 "%7B%7C%7D~%7F%80%FF");
141 } 141 }
142 142
143 TEST(EscapeTest, EscapeUrlEncodedData) { 143 TEST(EscapeTest, EscapeUrlEncodedData) {
144 ASSERT_EQ( 144 ASSERT_EQ(
145 // Most of the character space we care about, un-escaped 145 // Most of the character space we care about, un-escaped
146 EscapeUrlEncodedData( 146 EscapeUrlEncodedData(
147 "\x02\n\x1d !\"#$%&'()*+,-./0123456789:;" 147 "\x02\n\x1d !\"#$%&'()*+,-./0123456789:;"
148 "<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" 148 "<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
149 "[\\]^_`abcdefghijklmnopqrstuvwxyz" 149 "[\\]^_`abcdefghijklmnopqrstuvwxyz"
150 "{|}~\x7f\x80\xff", true), 150 "{|}~\x7f\x80\xff"),
151 // Escaped 151 // Escaped
152 "%02%0A%1D+!%22%23%24%25%26%27()*%2B,-./0123456789:%3B" 152 "%02%0A%1D+!%22%23%24%25%26%27()*%2B,-./0123456789:%3B"
153 "%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ" 153 "%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ"
154 "%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz" 154 "%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz"
155 "%7B%7C%7D~%7F%80%FF"); 155 "%7B%7C%7D~%7F%80%FF");
156 } 156 }
157 157
158 TEST(EscapeTest, EscapeUrlEncodedDataSpace) {
159 ASSERT_EQ(EscapeUrlEncodedData("a b", true), "a+b");
160 ASSERT_EQ(EscapeUrlEncodedData("a b", false), "a%20b");
161 }
162
163 TEST(EscapeTest, UnescapeURLComponentASCII) { 158 TEST(EscapeTest, UnescapeURLComponentASCII) {
164 const UnescapeURLCaseASCII unescape_cases[] = { 159 const UnescapeURLCaseASCII unescape_cases[] = {
165 {"", UnescapeRule::NORMAL, ""}, 160 {"", UnescapeRule::NORMAL, ""},
166 {"%2", UnescapeRule::NORMAL, "%2"}, 161 {"%2", UnescapeRule::NORMAL, "%2"},
167 {"%%%%%%", UnescapeRule::NORMAL, "%%%%%%"}, 162 {"%%%%%%", UnescapeRule::NORMAL, "%%%%%%"},
168 {"Don't escape anything", UnescapeRule::NORMAL, "Don't escape anything"}, 163 {"Don't escape anything", UnescapeRule::NORMAL, "Don't escape anything"},
169 {"Invalid %escape %2", UnescapeRule::NORMAL, "Invalid %escape %2"}, 164 {"Invalid %escape %2", UnescapeRule::NORMAL, "Invalid %escape %2"},
170 {"Some%20random text %25%2dOK", UnescapeRule::NONE, 165 {"Some%20random text %25%2dOK", UnescapeRule::NONE,
171 "Some%20random text %25%2dOK"}, 166 "Some%20random text %25%2dOK"},
172 {"Some%20random text %25%2dOK", UnescapeRule::NORMAL, 167 {"Some%20random text %25%2dOK", UnescapeRule::NORMAL,
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 adjustments.push_back(9); 431 adjustments.push_back(9);
437 adjustments.push_back(15); 432 adjustments.push_back(15);
438 std::for_each(offsets.begin(), offsets.end(), 433 std::for_each(offsets.begin(), offsets.end(),
439 AdjustEncodingOffset(adjustments)); 434 AdjustEncodingOffset(adjustments));
440 size_t expected_2[] = {0, kNpos, kNpos, 1, 2, 3, 4, kNpos, kNpos, 5, kNpos, 435 size_t expected_2[] = {0, kNpos, kNpos, 1, 2, 3, 4, kNpos, kNpos, 5, kNpos,
441 kNpos, 6, 7, 8, 9, kNpos, kNpos}; 436 kNpos, 6, 7, 8, 9, kNpos, kNpos};
442 EXPECT_EQ(offsets.size(), arraysize(expected_2)); 437 EXPECT_EQ(offsets.size(), arraysize(expected_2));
443 for (size_t i = 0; i < arraysize(expected_2); ++i) 438 for (size_t i = 0; i < arraysize(expected_2); ++i)
444 EXPECT_EQ(expected_2[i], offsets[i]); 439 EXPECT_EQ(expected_2[i], offsets[i]);
445 } 440 }
OLDNEW
« no previous file with comments | « net/base/escape.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698