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

Side by Side Diff: net/cookies/cookie_monster_unittest.cc

Issue 10694093: Remove the force_session cookie option, as it's not used anymore (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing Created 8 years, 5 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/cookies/cookie_monster_store_test.cc ('k') | net/cookies/cookie_options.h » ('j') | 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 "net/cookies/cookie_store_unittest.h" 5 #include "net/cookies/cookie_store_unittest.h"
6 6
7 #include <time.h> 7 #include <time.h>
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 1758 matching lines...) Expand 10 before | Expand all | Expand 10 after
1769 false, false)); 1769 false, false));
1770 1770
1771 CookieList cookies = GetAllCookiesForURL(cm, url_google_foo_); 1771 CookieList cookies = GetAllCookiesForURL(cm, url_google_foo_);
1772 CookieList::iterator it = cookies.begin(); 1772 CookieList::iterator it = cookies.begin();
1773 1773
1774 ASSERT_TRUE(it != cookies.end()); 1774 ASSERT_TRUE(it != cookies.end());
1775 EXPECT_EQ("A", it->Name()); 1775 EXPECT_EQ("A", it->Name());
1776 EXPECT_EQ("B", it->Value()); 1776 EXPECT_EQ("B", it->Value());
1777 EXPECT_EQ("www.google.izzle", it->Domain()); 1777 EXPECT_EQ("www.google.izzle", it->Domain());
1778 EXPECT_EQ("/foo", it->Path()); 1778 EXPECT_EQ("/foo", it->Path());
1779 EXPECT_FALSE(it->DoesExpire()); 1779 EXPECT_FALSE(it->IsPersistent());
1780 EXPECT_FALSE(it->IsSecure()); 1780 EXPECT_FALSE(it->IsSecure());
1781 EXPECT_FALSE(it->IsHttpOnly()); 1781 EXPECT_FALSE(it->IsHttpOnly());
1782 1782
1783 ASSERT_TRUE(++it == cookies.end()); 1783 ASSERT_TRUE(++it == cookies.end());
1784 1784
1785 cookies = GetAllCookiesForURL(cm, url_google_bar_); 1785 cookies = GetAllCookiesForURL(cm, url_google_bar_);
1786 it = cookies.begin(); 1786 it = cookies.begin();
1787 1787
1788 ASSERT_TRUE(it != cookies.end()); 1788 ASSERT_TRUE(it != cookies.end());
1789 EXPECT_EQ("C", it->Name()); 1789 EXPECT_EQ("C", it->Name());
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
2133 static_cast<int>(GetAllCookies(cm).size())) 2133 static_cast<int>(GetAllCookies(cm).size()))
2134 << "For test case " << ci; 2134 << "For test case " << ci;
2135 // Will trigger GC 2135 // Will trigger GC
2136 SetCookie(cm, GURL("http://newdomain.com"), "b=2"); 2136 SetCookie(cm, GURL("http://newdomain.com"), "b=2");
2137 EXPECT_EQ(test_case->expected_cookies_after_set, 2137 EXPECT_EQ(test_case->expected_cookies_after_set,
2138 static_cast<int>((GetAllCookies(cm).size()))) 2138 static_cast<int>((GetAllCookies(cm).size())))
2139 << "For test case " << ci; 2139 << "For test case " << ci;
2140 } 2140 }
2141 } 2141 }
2142 2142
2143 // This test checks that setting a cookie forcing it to be a session only
2144 // cookie works as expected.
2145 TEST_F(CookieMonsterTest, ForceSessionOnly) {
2146 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL));
2147 CookieOptions options;
2148
2149 // Set a persistent cookie, but force it to be a session cookie.
2150 options.set_force_session();
2151 ASSERT_TRUE(SetCookieWithOptions(
2152 cm, url_google_,
2153 std::string(kValidCookieLine) + "; expires=Mon, 18-Apr-22 22:50:13 GMT",
2154 options));
2155
2156 // Get the canonical cookie.
2157 CookieList cookie_list = GetAllCookies(cm);
2158 ASSERT_EQ(1U, cookie_list.size());
2159 ASSERT_FALSE(cookie_list[0].IsPersistent());
2160
2161 // Use a past expiry date to delete the cookie, but force it to session only.
2162 ASSERT_TRUE(SetCookieWithOptions(
2163 cm, url_google_,
2164 std::string(kValidCookieLine) + "; expires=Mon, 18-Apr-1977 22:50:13 GMT",
2165 options));
2166
2167 // Check that the cookie was deleted.
2168 cookie_list = GetAllCookies(cm);
2169 ASSERT_EQ(0U, cookie_list.size());
2170 }
2171
2172 // This test checks that keep expired cookies flag is working. 2143 // This test checks that keep expired cookies flag is working.
2173 TEST_F(CookieMonsterTest, KeepExpiredCookies) { 2144 TEST_F(CookieMonsterTest, KeepExpiredCookies) {
2174 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL)); 2145 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL));
2175 cm->SetKeepExpiredCookies(); 2146 cm->SetKeepExpiredCookies();
2176 CookieOptions options; 2147 CookieOptions options;
2177 2148
2178 // Set a persistent cookie. 2149 // Set a persistent cookie.
2179 ASSERT_TRUE(SetCookieWithOptions( 2150 ASSERT_TRUE(SetCookieWithOptions(
2180 cm, url_google_, 2151 cm, url_google_,
2181 std::string(kValidCookieLine) + "; expires=Mon, 18-Apr-22 22:50:13 GMT", 2152 std::string(kValidCookieLine) + "; expires=Mon, 18-Apr-22 22:50:13 GMT",
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
2595 it = cookies.begin(); 2566 it = cookies.begin();
2596 base::Closure task = base::Bind( 2567 base::Closure task = base::Bind(
2597 &net::MultiThreadedCookieMonsterTest::DeleteCanonicalCookieTask, 2568 &net::MultiThreadedCookieMonsterTest::DeleteCanonicalCookieTask,
2598 base::Unretained(this), 2569 base::Unretained(this),
2599 cm, *it, &callback); 2570 cm, *it, &callback);
2600 RunOnOtherThread(task); 2571 RunOnOtherThread(task);
2601 EXPECT_TRUE(callback.did_run()); 2572 EXPECT_TRUE(callback.did_run());
2602 EXPECT_TRUE(callback.result()); 2573 EXPECT_TRUE(callback.result());
2603 } 2574 }
2604 2575
2605 TEST_F(CookieMonsterTest, ShortLivedSessionCookies) {
2606 scoped_refptr<MockPersistentCookieStore> store(
2607 new MockPersistentCookieStore);
2608 scoped_refptr<CookieMonster> cm(new CookieMonster(store, NULL));
2609
2610 // Create a short-lived session cookie.
2611 CookieOptions options;
2612 options.set_force_session();
2613 Time current = Time::Now();
2614 EXPECT_TRUE(SetCookieWithOptions(cm, url_google_,
2615 std::string(kValidCookieLine) +
2616 "; max-age=10",
2617 options));
2618
2619 // FindCookiesForKey asserts that its caller holds this lock.
2620 base::AutoLock auto_lock(cm->lock_);
2621
2622 // Get cookies before the cookie has expired.
2623 std::vector<CookieMonster::CanonicalCookie*> cookies;
2624 cm->FindCookiesForKey(cm->GetKey(url_google_.host()), url_google_,
2625 CookieOptions(), current, false, &cookies);
2626 EXPECT_EQ(1U, cookies.size());
2627
2628 // Get cookies after the cookie has expired.
2629 cookies.clear();
2630 cm->FindCookiesForKey(cm->GetKey(url_google_.host()), url_google_,
2631 CookieOptions(), current + TimeDelta::FromSeconds(20),
2632 false, &cookies);
2633 EXPECT_EQ(0U, cookies.size());
2634 }
2635
2636 TEST_F(CookieMonsterTest, InvalidExpiryTime) { 2576 TEST_F(CookieMonsterTest, InvalidExpiryTime) {
2637 CookieMonster::ParsedCookie pc( 2577 CookieMonster::ParsedCookie pc(
2638 std::string(kValidCookieLine) + "; expires=Blarg arg arg"); 2578 std::string(kValidCookieLine) + "; expires=Blarg arg arg");
2639 scoped_ptr<CookieMonster::CanonicalCookie> cookie( 2579 scoped_ptr<CookieMonster::CanonicalCookie> cookie(
2640 CookieMonster::CanonicalCookie::Create(url_google_, pc)); 2580 CookieMonster::CanonicalCookie::Create(url_google_, pc));
2641 2581
2642 ASSERT_FALSE(cookie->DoesExpire()); 2582 ASSERT_FALSE(cookie->IsPersistent());
2643 } 2583 }
2644 2584
2645 // Test that CookieMonster writes session cookies into the underlying 2585 // Test that CookieMonster writes session cookies into the underlying
2646 // CookieStore if the "persist session cookies" option is on. 2586 // CookieStore if the "persist session cookies" option is on.
2647 TEST_F(CookieMonsterTest, PersistSessionCookies) { 2587 TEST_F(CookieMonsterTest, PersistSessionCookies) {
2648 scoped_refptr<MockPersistentCookieStore> store( 2588 scoped_refptr<MockPersistentCookieStore> store(
2649 new MockPersistentCookieStore); 2589 new MockPersistentCookieStore);
2650 scoped_refptr<CookieMonster> cm(new CookieMonster(store, NULL)); 2590 scoped_refptr<CookieMonster> cm(new CookieMonster(store, NULL));
2651 cm->SetPersistSessionCookies(true); 2591 cm->SetPersistSessionCookies(true);
2652 2592
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
2713 EXPECT_EQ(CookieStoreCommand::ADD, store->commands()[4].type); 2653 EXPECT_EQ(CookieStoreCommand::ADD, store->commands()[4].type);
2714 2654
2715 // Create some non-persistent cookies and check that they don't go to the 2655 // Create some non-persistent cookies and check that they don't go to the
2716 // persistent storage. 2656 // persistent storage.
2717 EXPECT_TRUE(SetCookie(cm, url_google_, "B=Bar")); 2657 EXPECT_TRUE(SetCookie(cm, url_google_, "B=Bar"));
2718 this->MatchCookieLines("A=Foo; B=Bar", GetCookies(cm, url_google_)); 2658 this->MatchCookieLines("A=Foo; B=Bar", GetCookies(cm, url_google_));
2719 EXPECT_EQ(5u, store->commands().size()); 2659 EXPECT_EQ(5u, store->commands().size());
2720 } 2660 }
2721 2661
2722 } // namespace net 2662 } // namespace net
OLDNEW
« no previous file with comments | « net/cookies/cookie_monster_store_test.cc ('k') | net/cookies/cookie_options.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698