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 <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 1707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1718 CreateMonsterForGC(CookieMonster::kMaxCookies * 2)); | 1718 CreateMonsterForGC(CookieMonster::kMaxCookies * 2)); |
1719 EXPECT_EQ(CookieMonster::kMaxCookies * 2, GetAllCookies(cm).size()); | 1719 EXPECT_EQ(CookieMonster::kMaxCookies * 2, GetAllCookies(cm).size()); |
1720 SetCookie(cm, GURL("http://newdomain.com"), "b=2"); | 1720 SetCookie(cm, GURL("http://newdomain.com"), "b=2"); |
1721 EXPECT_EQ(CookieMonster::kMaxCookies * 2 + 1, GetAllCookies(cm).size()); | 1721 EXPECT_EQ(CookieMonster::kMaxCookies * 2 + 1, GetAllCookies(cm).size()); |
1722 } | 1722 } |
1723 | 1723 |
1724 // Now we explore a series of relationships between cookie last access | 1724 // Now we explore a series of relationships between cookie last access |
1725 // time and size of store to make sure we only get rid of cookies when | 1725 // time and size of store to make sure we only get rid of cookies when |
1726 // we really should. | 1726 // we really should. |
1727 const struct TestCase { | 1727 const struct TestCase { |
1728 int num_cookies; | 1728 size_t num_cookies; |
1729 int num_old_cookies; | 1729 size_t num_old_cookies; |
1730 int expected_initial_cookies; | 1730 size_t expected_initial_cookies; |
1731 // Indexed by ExpiryAndKeyScheme | 1731 // Indexed by ExpiryAndKeyScheme |
1732 int expected_cookies_after_set; | 1732 size_t expected_cookies_after_set; |
1733 } test_cases[] = { | 1733 } test_cases[] = { |
1734 { | 1734 { |
1735 // A whole lot of recent cookies; gc shouldn't happen. | 1735 // A whole lot of recent cookies; gc shouldn't happen. |
1736 CookieMonster::kMaxCookies * 2, | 1736 CookieMonster::kMaxCookies * 2, |
1737 0, | 1737 0, |
1738 CookieMonster::kMaxCookies * 2, | 1738 CookieMonster::kMaxCookies * 2, |
1739 CookieMonster::kMaxCookies * 2 + 1 | 1739 CookieMonster::kMaxCookies * 2 + 1 |
1740 }, { | 1740 }, { |
1741 // Some old cookies, but still overflowing max. | 1741 // Some old cookies, but still overflowing max. |
1742 CookieMonster::kMaxCookies * 2, | 1742 CookieMonster::kMaxCookies * 2, |
(...skipping 15 matching lines...) Expand all Loading... |
1758 CookieMonster::kMaxCookies - CookieMonster::kPurgeCookies | 1758 CookieMonster::kMaxCookies - CookieMonster::kPurgeCookies |
1759 } | 1759 } |
1760 }; | 1760 }; |
1761 | 1761 |
1762 for (int ci = 0; ci < static_cast<int>(ARRAYSIZE_UNSAFE(test_cases)); ++ci) { | 1762 for (int ci = 0; ci < static_cast<int>(ARRAYSIZE_UNSAFE(test_cases)); ++ci) { |
1763 const TestCase *test_case = &test_cases[ci]; | 1763 const TestCase *test_case = &test_cases[ci]; |
1764 scoped_refptr<CookieMonster> cm( | 1764 scoped_refptr<CookieMonster> cm( |
1765 CreateMonsterFromStoreForGC( | 1765 CreateMonsterFromStoreForGC( |
1766 test_case->num_cookies, test_case->num_old_cookies, | 1766 test_case->num_cookies, test_case->num_old_cookies, |
1767 CookieMonster::kSafeFromGlobalPurgeDays * 2)); | 1767 CookieMonster::kSafeFromGlobalPurgeDays * 2)); |
1768 EXPECT_EQ(test_case->expected_initial_cookies, | 1768 EXPECT_EQ(test_case->expected_initial_cookies, GetAllCookies(cm).size()) |
1769 static_cast<int>(GetAllCookies(cm).size())) | |
1770 << "For test case " << ci; | 1769 << "For test case " << ci; |
1771 // Will trigger GC | 1770 // Will trigger GC |
1772 SetCookie(cm, GURL("http://newdomain.com"), "b=2"); | 1771 SetCookie(cm, GURL("http://newdomain.com"), "b=2"); |
1773 EXPECT_EQ(test_case->expected_cookies_after_set, | 1772 EXPECT_EQ(test_case->expected_cookies_after_set, GetAllCookies(cm).size()) |
1774 static_cast<int>((GetAllCookies(cm).size()))) | |
1775 << "For test case " << ci; | 1773 << "For test case " << ci; |
1776 } | 1774 } |
1777 } | 1775 } |
1778 | 1776 |
1779 // This test checks that keep expired cookies flag is working. | 1777 // This test checks that keep expired cookies flag is working. |
1780 TEST_F(CookieMonsterTest, KeepExpiredCookies) { | 1778 TEST_F(CookieMonsterTest, KeepExpiredCookies) { |
1781 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL)); | 1779 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL)); |
1782 cm->SetKeepExpiredCookies(); | 1780 cm->SetKeepExpiredCookies(); |
1783 CookieOptions options; | 1781 CookieOptions options; |
1784 | 1782 |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2259 EXPECT_EQ(CookieStoreCommand::ADD, store->commands()[4].type); | 2257 EXPECT_EQ(CookieStoreCommand::ADD, store->commands()[4].type); |
2260 | 2258 |
2261 // Create some non-persistent cookies and check that they don't go to the | 2259 // Create some non-persistent cookies and check that they don't go to the |
2262 // persistent storage. | 2260 // persistent storage. |
2263 EXPECT_TRUE(SetCookie(cm, url_google_, "B=Bar")); | 2261 EXPECT_TRUE(SetCookie(cm, url_google_, "B=Bar")); |
2264 this->MatchCookieLines("A=Foo; B=Bar", GetCookies(cm, url_google_)); | 2262 this->MatchCookieLines("A=Foo; B=Bar", GetCookies(cm, url_google_)); |
2265 EXPECT_EQ(5u, store->commands().size()); | 2263 EXPECT_EQ(5u, store->commands().size()); |
2266 } | 2264 } |
2267 | 2265 |
2268 } // namespace net | 2266 } // namespace net |
OLD | NEW |