Chromium Code Reviews| 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 2593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2604 it = cookies.begin(); | 2604 it = cookies.begin(); |
| 2605 base::Closure task = base::Bind( | 2605 base::Closure task = base::Bind( |
| 2606 &net::MultiThreadedCookieMonsterTest::DeleteCanonicalCookieTask, | 2606 &net::MultiThreadedCookieMonsterTest::DeleteCanonicalCookieTask, |
| 2607 base::Unretained(this), | 2607 base::Unretained(this), |
| 2608 cm, *it, &callback); | 2608 cm, *it, &callback); |
| 2609 RunOnOtherThread(task); | 2609 RunOnOtherThread(task); |
| 2610 EXPECT_TRUE(callback.did_run()); | 2610 EXPECT_TRUE(callback.did_run()); |
| 2611 EXPECT_TRUE(callback.result()); | 2611 EXPECT_TRUE(callback.result()); |
| 2612 } | 2612 } |
| 2613 | 2613 |
| 2614 TEST_F(MultiThreadedCookieMonsterTest, GetAllCookiesForURLEffectiveDomain) { | |
|
Ryan Sleevi
2015/01/24 03:46:59
Can you add a description to this test explaining
yhirano
2015/01/26 04:45:25
Done.
| |
| 2615 std::vector<CanonicalCookie*> cookies; | |
| 2616 // This cookie will be freed by the CookieMonster. | |
| 2617 cookies.push_back(CanonicalCookie::Create(url_google_, kValidCookieLine, | |
| 2618 Time::Now(), CookieOptions())); | |
| 2619 CanonicalCookie cookie = *cookies[0]; | |
| 2620 scoped_refptr<NewMockPersistentCookieStore> store( | |
| 2621 new NewMockPersistentCookieStore); | |
| 2622 scoped_refptr<CookieMonster> cm(new CookieMonster(store.get(), NULL)); | |
| 2623 | |
| 2624 CookieMonster::PersistentCookieStore::LoadedCallback loaded_callback; | |
| 2625 ::testing::StrictMock<::testing::MockFunction<void(int)>> checkpoint; | |
| 2626 const std::string key = | |
| 2627 cookie_util::GetEffectiveDomain(url_google_.scheme(), url_google_.host()); | |
| 2628 | |
| 2629 { | |
| 2630 ::testing::InSequence s; | |
| 2631 EXPECT_CALL(checkpoint, Call(0)); | |
| 2632 EXPECT_CALL(*store, Load(::testing::_)); | |
| 2633 EXPECT_CALL(*store, LoadCookiesForKey(key, ::testing::_)) | |
| 2634 .WillOnce(::testing::SaveArg<1>(&loaded_callback)); | |
| 2635 EXPECT_CALL(checkpoint, Call(1)); | |
| 2636 // LoadCookiesForKey will never be called, because all URLS below share | |
| 2637 // the same key. | |
| 2638 } | |
| 2639 | |
| 2640 { | |
| 2641 GetCookieListCallback callback; | |
| 2642 checkpoint.Call(0); | |
| 2643 GetAllCookiesForURLTask(cm.get(), url_google_, &callback); | |
| 2644 checkpoint.Call(1); | |
|
Ryan Sleevi
2015/01/24 03:46:59
I'm confused; Why is this in a separate section th
yhirano
2015/01/26 04:45:25
(All line numbers represents line numbers in PS9 i
Ryan Sleevi
2015/01/26 19:49:54
[Same in mine]
yhirano
2015/01/27 02:07:10
Yes. I created blocks L2640-L2653, L2654-L2662, L2
| |
| 2645 EXPECT_FALSE(callback.did_run()); | |
|
Ryan Sleevi
2015/01/24 03:46:59
Historically, tests with EXPECTS on callback runni
yhirano
2015/01/26 04:45:25
Done.
| |
| 2646 // Pass the cookies to the CookieMonster. | |
| 2647 loaded_callback.Run(cookies); | |
| 2648 // Now GetAllCookiesForURLTask is done. | |
| 2649 EXPECT_TRUE(callback.did_run()); | |
| 2650 // See that the callback was called with the cookies. | |
| 2651 ASSERT_EQ(1u, callback.cookies().size()); | |
| 2652 EXPECT_TRUE(cookie.IsEquivalent(callback.cookies()[0])); | |
| 2653 } | |
| 2654 { | |
| 2655 // Call the function with the same URL and see if it is done synchronously | |
|
Ryan Sleevi
2015/01/24 03:46:59
s/see if it/verify it/
The wording suggests it's
yhirano
2015/01/26 04:45:25
Done.
| |
| 2656 // without calling LoadCookiesForKey. | |
| 2657 GetCookieListCallback callback; | |
| 2658 GetAllCookiesForURLTask(cm.get(), url_google_, &callback); | |
| 2659 EXPECT_TRUE(callback.did_run()); | |
| 2660 ASSERT_EQ(1u, callback.cookies().size()); | |
| 2661 EXPECT_TRUE(cookie.IsEquivalent(callback.cookies()[0])); | |
| 2662 } | |
| 2663 { | |
| 2664 // Call the function with an https URL and see if it is done synchronously | |
| 2665 // without calling LoadCookiesForKey. | |
| 2666 GetCookieListCallback callback; | |
| 2667 GetAllCookiesForURLTask(cm.get(), url_google_secure_, &callback); | |
| 2668 EXPECT_TRUE(callback.did_run()); | |
| 2669 ASSERT_EQ(1u, callback.cookies().size()); | |
| 2670 EXPECT_TRUE(cookie.IsEquivalent(callback.cookies()[0])); | |
| 2671 } | |
| 2672 { | |
| 2673 // Call the function with a ws URL and see if it is done synchronously | |
| 2674 // without calling LoadCookiesForKey. | |
| 2675 GetCookieListCallback callback; | |
| 2676 GetAllCookiesForURLTask(cm.get(), GURL(kUrlGoogleWebSocket), &callback); | |
| 2677 EXPECT_TRUE(callback.did_run()); | |
| 2678 ASSERT_EQ(1u, callback.cookies().size()); | |
| 2679 EXPECT_TRUE(cookie.IsEquivalent(callback.cookies()[0])); | |
| 2680 } | |
| 2681 { | |
| 2682 // Call the function with a wss URL and see if it is done synchronously | |
| 2683 // without calling LoadCookiesForKey. | |
| 2684 GetCookieListCallback callback; | |
| 2685 GetAllCookiesForURLTask(cm.get(), GURL(kUrlGoogleWebSocketSecure), | |
| 2686 &callback); | |
| 2687 EXPECT_TRUE(callback.did_run()); | |
| 2688 ASSERT_EQ(1u, callback.cookies().size()); | |
| 2689 EXPECT_TRUE(cookie.IsEquivalent(callback.cookies()[0])); | |
| 2690 } | |
|
Ryan Sleevi
2015/01/24 03:46:59
Should this code be refactored to a loop over the
yhirano
2015/01/26 04:45:25
Done.
| |
| 2691 } | |
| 2692 | |
| 2614 TEST_F(CookieMonsterTest, InvalidExpiryTime) { | 2693 TEST_F(CookieMonsterTest, InvalidExpiryTime) { |
| 2615 std::string cookie_line = | 2694 std::string cookie_line = |
| 2616 std::string(kValidCookieLine) + "; expires=Blarg arg arg"; | 2695 std::string(kValidCookieLine) + "; expires=Blarg arg arg"; |
| 2617 scoped_ptr<CanonicalCookie> cookie( | 2696 scoped_ptr<CanonicalCookie> cookie( |
| 2618 CanonicalCookie::Create(url_google_, cookie_line, Time::Now(), | 2697 CanonicalCookie::Create(url_google_, cookie_line, Time::Now(), |
| 2619 CookieOptions())); | 2698 CookieOptions())); |
| 2620 ASSERT_FALSE(cookie->IsPersistent()); | 2699 ASSERT_FALSE(cookie->IsPersistent()); |
| 2621 } | 2700 } |
| 2622 | 2701 |
| 2623 // Test that CookieMonster writes session cookies into the underlying | 2702 // Test that CookieMonster writes session cookies into the underlying |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2879 scoped_ptr<CookieStore::CookieChangedSubscription> sub1( | 2958 scoped_ptr<CookieStore::CookieChangedSubscription> sub1( |
| 2880 monster()->AddCallbackForCookie(test_url_, "abc", | 2959 monster()->AddCallbackForCookie(test_url_, "abc", |
| 2881 base::Bind(&RecordCookieChanges, &cookies1, nullptr))); | 2960 base::Bind(&RecordCookieChanges, &cookies1, nullptr))); |
| 2882 SetCookie(monster(), test_url_, "abc=def"); | 2961 SetCookie(monster(), test_url_, "abc=def"); |
| 2883 base::MessageLoop::current()->RunUntilIdle(); | 2962 base::MessageLoop::current()->RunUntilIdle(); |
| 2884 EXPECT_EQ(1U, cookies0.size()); | 2963 EXPECT_EQ(1U, cookies0.size()); |
| 2885 EXPECT_EQ(1U, cookies0.size()); | 2964 EXPECT_EQ(1U, cookies0.size()); |
| 2886 } | 2965 } |
| 2887 | 2966 |
| 2888 } // namespace net | 2967 } // namespace net |
| OLD | NEW |