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 "net/cookies/cookie_store_unittest.h" | 5 #include "net/cookies/cookie_store_unittest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
429 const std::string& coded_priority_str, | 429 const std::string& coded_priority_str, |
430 size_t expected_low_count, | 430 size_t expected_low_count, |
431 size_t expected_medium_count, | 431 size_t expected_medium_count, |
432 size_t expected_high_count) { | 432 size_t expected_high_count) { |
433 DeleteAll(cm); | 433 DeleteAll(cm); |
434 int next_cookie_id = 0; | 434 int next_cookie_id = 0; |
435 std::vector<CookiePriority> priority_list; | 435 std::vector<CookiePriority> priority_list; |
436 std::vector<int> id_list[3]; // Indexed by CookiePriority. | 436 std::vector<int> id_list[3]; // Indexed by CookiePriority. |
437 | 437 |
438 // Parse |coded_priority_str| and add cookies. | 438 // Parse |coded_priority_str| and add cookies. |
439 std::vector<std::string> priority_tok_list; | 439 for (const std::string& token : |
440 base::SplitString(coded_priority_str, ' ', &priority_tok_list); | 440 base::SplitString(coded_priority_str, " ", base::TRIM_WHITESPACE, |
441 for (std::vector<std::string>::iterator it = priority_tok_list.begin(); | 441 base::SPLIT_WANT_ALL)) { |
Ryan Sleevi
2015/07/06 08:52:01
nit: While you're here, this (and 467) are safe to
brettw
2015/07/06 16:52:34
I have no idea what you're asking me to clean up h
Ryan Sleevi
2015/07/06 16:58:12
Sorry, meant
const base::StringPiece& token : bas
| |
442 it != priority_tok_list.end(); ++it) { | 442 DCHECK(!token.empty()); |
443 size_t len = it->length(); | |
444 DCHECK_NE(len, 0U); | |
445 // Take last character as priority. | 443 // Take last character as priority. |
446 CookiePriority priority = CharToPriority((*it)[len - 1]); | 444 CookiePriority priority = CharToPriority(token[token.length() - 1]); |
447 std::string priority_str = CookiePriorityToString(priority); | 445 std::string priority_str = CookiePriorityToString(priority); |
448 // The rest of the string (possibly empty) specifies repetition. | 446 // The rest of the string (possibly empty) specifies repetition. |
449 int rep = 1; | 447 int rep = 1; |
450 if (!it->empty()) { | 448 if (!token.empty()) { |
451 bool result = base::StringToInt( | 449 bool result = base::StringToInt( |
452 base::StringPiece(it->begin(), it->end() - 1), &rep); | 450 base::StringPiece(token.begin(), token.end() - 1), &rep); |
453 DCHECK(result); | 451 DCHECK(result); |
454 } | 452 } |
455 for (; rep > 0; --rep, ++next_cookie_id) { | 453 for (; rep > 0; --rep, ++next_cookie_id) { |
456 std::string cookie = base::StringPrintf( | 454 std::string cookie = base::StringPrintf( |
457 "a%d=b;priority=%s", next_cookie_id, priority_str.c_str()); | 455 "a%d=b;priority=%s", next_cookie_id, priority_str.c_str()); |
458 EXPECT_TRUE(SetCookie(cm, url_google_, cookie)); | 456 EXPECT_TRUE(SetCookie(cm, url_google_, cookie)); |
459 priority_list.push_back(priority); | 457 priority_list.push_back(priority); |
460 id_list[priority].push_back(next_cookie_id); | 458 id_list[priority].push_back(next_cookie_id); |
461 } | 459 } |
462 } | 460 } |
463 | 461 |
464 int num_cookies = static_cast<int>(priority_list.size()); | 462 int num_cookies = static_cast<int>(priority_list.size()); |
465 std::vector<int> surviving_id_list[3]; // Indexed by CookiePriority. | 463 std::vector<int> surviving_id_list[3]; // Indexed by CookiePriority. |
466 | 464 |
467 // Parse the list of cookies | 465 // Parse the list of cookies |
468 std::string cookie_str = this->GetCookies(cm, url_google_); | 466 std::string cookie_str = this->GetCookies(cm, url_google_); |
469 std::vector<std::string> cookie_tok_list; | 467 for (const std::string& token : base::SplitString( |
470 base::SplitString(cookie_str, ';', &cookie_tok_list); | 468 cookie_str, ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) { |
471 for (std::vector<std::string>::iterator it = cookie_tok_list.begin(); | |
472 it != cookie_tok_list.end(); ++it) { | |
473 // Assuming *it is "a#=b", so extract and parse "#" portion. | 469 // Assuming *it is "a#=b", so extract and parse "#" portion. |
474 int id = -1; | 470 int id = -1; |
475 bool result = base::StringToInt( | 471 bool result = base::StringToInt( |
476 base::StringPiece(it->begin() + 1, it->end() - 2), &id); | 472 base::StringPiece(token.begin() + 1, token.end() - 2), &id); |
477 DCHECK(result); | 473 DCHECK(result); |
478 DCHECK_GE(id, 0); | 474 DCHECK_GE(id, 0); |
479 DCHECK_LT(id, num_cookies); | 475 DCHECK_LT(id, num_cookies); |
480 surviving_id_list[priority_list[id]].push_back(id); | 476 surviving_id_list[priority_list[id]].push_back(id); |
481 } | 477 } |
482 | 478 |
483 // Validate each priority. | 479 // Validate each priority. |
484 size_t expected_count[3] = { | 480 size_t expected_count[3] = { |
485 expected_low_count, expected_medium_count, expected_high_count}; | 481 expected_low_count, expected_medium_count, expected_high_count}; |
486 for (int i = 0; i < 3; ++i) { | 482 for (int i = 0; i < 3; ++i) { |
(...skipping 2478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2965 monster()->AddCallbackForCookie( | 2961 monster()->AddCallbackForCookie( |
2966 test_url_, "abc", | 2962 test_url_, "abc", |
2967 base::Bind(&RecordCookieChanges, &cookies1, nullptr))); | 2963 base::Bind(&RecordCookieChanges, &cookies1, nullptr))); |
2968 SetCookie(monster(), test_url_, "abc=def"); | 2964 SetCookie(monster(), test_url_, "abc=def"); |
2969 base::MessageLoop::current()->RunUntilIdle(); | 2965 base::MessageLoop::current()->RunUntilIdle(); |
2970 EXPECT_EQ(1U, cookies0.size()); | 2966 EXPECT_EQ(1U, cookies0.size()); |
2971 EXPECT_EQ(1U, cookies0.size()); | 2967 EXPECT_EQ(1U, cookies0.size()); |
2972 } | 2968 } |
2973 | 2969 |
2974 } // namespace net | 2970 } // namespace net |
OLD | NEW |