| Index: net/base/cookie_monster_unittest.cc
|
| ===================================================================
|
| --- net/base/cookie_monster_unittest.cc (revision 105639)
|
| +++ net/base/cookie_monster_unittest.cc (working copy)
|
| @@ -37,9 +37,7 @@
|
| class NewMockPersistentCookieStore
|
| : public CookieMonster::PersistentCookieStore {
|
| public:
|
| - MOCK_METHOD1(Load, void(const LoadedCallback& loaded_callback));
|
| - MOCK_METHOD2(LoadCookiesForKey, void(const std::string& key,
|
| - const LoadedCallback& loaded_callback));
|
| + MOCK_METHOD1(Load, bool(const LoadedCallback& loaded_callback));
|
| MOCK_METHOD1(AddCookie, void(const CookieMonster::CanonicalCookie& cc));
|
| MOCK_METHOD1(UpdateCookieAccessTime,
|
| void(const CookieMonster::CanonicalCookie& cc));
|
| @@ -1010,16 +1008,12 @@
|
| cookie_monster->GetAllCookiesForURLAsync(url, callback->AsCallback());
|
| }
|
|
|
| -ACTION_P(PushCallbackAction, callback_vector) {
|
| - callback_vector->push(arg1);
|
| -}
|
| } // namespace
|
|
|
| // This test suite verifies the task deferral behaviour of the CookieMonster.
|
| // Specifically, for each asynchronous method, verify that:
|
| // 1. invoking it on an uninitialized cookie store causes the store to begin
|
| -// chain-loading its backing data or loading data for a specific domain key
|
| -// (eTLD+1).
|
| +// loading its backing data.
|
| // 2. The initial invocation does not complete until the loading completes.
|
| // 3. Invocations after the loading has completed complete immediately.
|
| class DeferredCookieTaskTest : public CookieMonsterTest {
|
| @@ -1045,16 +1039,9 @@
|
| testing::Mock::VerifyAndClear(persistent_store_.get());
|
| }
|
|
|
| - // Invokes the PersistentCookieStore::LoadCookiesForKey completion callbacks
|
| - // and PersistentCookieStore::Load completion callback and waits
|
| + // Invokes the PersistentCookieStore::Load completion callback and waits
|
| // until the message loop is quit.
|
| void CompleteLoadingAndWait() {
|
| - while (!loaded_for_key_callbacks_.empty()) {
|
| - loaded_for_key_callbacks_.front().Run(loaded_cookies_);
|
| - loaded_cookies_.clear();
|
| - loaded_for_key_callbacks_.pop();
|
| - }
|
| -
|
| loaded_callback_.Run(loaded_cookies_);
|
| RunFor(kTimeout);
|
| }
|
| @@ -1068,36 +1055,15 @@
|
| Begin();
|
| }
|
|
|
| - void BeginWithForDomainKey(std::string key,
|
| - testing::Action<void(void)> action) {
|
| - EXPECT_CALL(*this, Begin()).WillOnce(action);
|
| - ExpectLoadCall();
|
| - ExpectLoadForKeyCall(key, false);
|
| - Begin();
|
| - }
|
| -
|
| // Declares an expectation that PersistentCookieStore::Load will be called,
|
| // saving the provided callback and sending a quit to the message loop.
|
| void ExpectLoadCall() {
|
| EXPECT_CALL(*persistent_store_, Load(testing::_)).WillOnce(testing::DoAll(
|
| testing::SaveArg<0>(&loaded_callback_),
|
| - QuitCurrentMessageLoop()));
|
| + QuitCurrentMessageLoop(),
|
| + testing::Return(true)));
|
| }
|
|
|
| - // Declares an expectation that PersistentCookieStore::LoadCookiesForKey
|
| - // will be called, saving the provided callback and sending a quit to the
|
| - // message loop.
|
| - void ExpectLoadForKeyCall(std::string key, bool quit_queue) {
|
| - if (quit_queue)
|
| - EXPECT_CALL(*persistent_store_, LoadCookiesForKey(key, testing::_)).
|
| - WillOnce(testing::DoAll(
|
| - PushCallbackAction(&loaded_for_key_callbacks_),
|
| - QuitCurrentMessageLoop()));
|
| - else
|
| - EXPECT_CALL(*persistent_store_, LoadCookiesForKey(key, testing::_)).
|
| - WillOnce(PushCallbackAction(&loaded_for_key_callbacks_));
|
| - }
|
| -
|
| // Invokes the initial action.
|
| MOCK_METHOD0(Begin, void(void));
|
|
|
| @@ -1107,17 +1073,11 @@
|
| private:
|
| // Declares that mock expectations in this test suite are strictly ordered.
|
| testing::InSequence in_sequence_;
|
| - // Holds cookies to be returned from PersistentCookieStore::Load or
|
| - // PersistentCookieStore::LoadCookiesForKey.
|
| + // Holds cookies to be returned from PersistentCookieStore::Load.
|
| std::vector<CookieMonster::CanonicalCookie*> loaded_cookies_;
|
| // Stores the callback passed from the CookieMonster to the
|
| - // PersistentCookieStore::Load
|
| + // PersistentCookieStore
|
| CookieMonster::PersistentCookieStore::LoadedCallback loaded_callback_;
|
| - // Stores the callback passed from the CookieMonster to the
|
| - // PersistentCookieStore::LoadCookiesForKey
|
| - std::queue<CookieMonster::PersistentCookieStore::LoadedCallback>
|
| - loaded_for_key_callbacks_;
|
| -
|
| // Stores the CookieMonster under test.
|
| scoped_refptr<CookieMonster> cookie_monster_;
|
| // Stores the mock PersistentCookieStore.
|
| @@ -1131,7 +1091,7 @@
|
|
|
| MockGetCookiesCallback get_cookies_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", GetCookiesAction(
|
| + BeginWith(GetCookiesAction(
|
| &cookie_monster(), url_google_, &get_cookies_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1151,7 +1111,7 @@
|
|
|
| MockGetCookieInfoCallback get_cookie_info_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", GetCookiesWithInfoAction(
|
| + BeginWith(GetCookiesWithInfoAction(
|
| &cookie_monster(), url_google_, &get_cookie_info_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1168,7 +1128,7 @@
|
| TEST_F(DeferredCookieTaskTest, DeferredSetCookie) {
|
| MockSetCookiesCallback set_cookies_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", SetCookieAction(
|
| + BeginWith(SetCookieAction(
|
| &cookie_monster(), url_google_, "A=B", &set_cookies_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1185,7 +1145,7 @@
|
| TEST_F(DeferredCookieTaskTest, DeferredDeleteCookie) {
|
| MockClosure delete_cookie_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", DeleteCookieAction(
|
| + BeginWith(DeleteCookieAction(
|
| &cookie_monster(), url_google_, "A", &delete_cookie_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1202,7 +1162,7 @@
|
| TEST_F(DeferredCookieTaskTest, DeferredSetCookieWithDetails) {
|
| MockSetCookiesCallback set_cookies_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", SetCookieWithDetailsAction(
|
| + BeginWith(SetCookieWithDetailsAction(
|
| &cookie_monster(), url_google_foo_, "A", "B", std::string(), "/foo",
|
| base::Time(), false, false, &set_cookies_callback));
|
|
|
| @@ -1245,7 +1205,7 @@
|
|
|
| MockGetCookieListCallback get_cookie_list_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", GetAllCookiesForUrlAction(
|
| + BeginWith(GetAllCookiesForUrlAction(
|
| &cookie_monster(), url_google_, &get_cookie_list_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1267,7 +1227,7 @@
|
|
|
| MockGetCookieListCallback get_cookie_list_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", GetAllCookiesForUrlWithOptionsAction(
|
| + BeginWith(GetAllCookiesForUrlWithOptionsAction(
|
| &cookie_monster(), url_google_, &get_cookie_list_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1318,7 +1278,7 @@
|
| TEST_F(DeferredCookieTaskTest, DeferredDeleteAllForHostCookies) {
|
| MockDeleteCallback delete_callback;
|
|
|
| - BeginWithForDomainKey("google.izzle", DeleteAllForHostAction(
|
| + BeginWith(DeleteAllForHostAction(
|
| &cookie_monster(), url_google_, &delete_callback));
|
|
|
| WaitForLoadCall();
|
| @@ -1374,17 +1334,17 @@
|
| DeleteCookieAction(
|
| &cookie_monster(), url_google_, "A", &delete_cookie_callback)));
|
| ExpectLoadCall();
|
| - ExpectLoadForKeyCall("google.izzle", false);
|
| Begin();
|
|
|
| WaitForLoadCall();
|
| EXPECT_CALL(get_cookies_callback, Invoke("X=1")).WillOnce(
|
| GetCookiesWithInfoAction(
|
| &cookie_monster(), url_google_, &get_cookie_info_callback));
|
| - EXPECT_CALL(get_cookie_info_callback, Invoke("X=1", testing::_)).WillOnce(
|
| - QuitCurrentMessageLoop());
|
| +
|
| EXPECT_CALL(set_cookies_callback, Invoke(true));
|
| EXPECT_CALL(delete_cookie_callback, Invoke());
|
| + EXPECT_CALL(get_cookie_info_callback, Invoke("X=1", testing::_)).WillOnce(
|
| + QuitCurrentMessageLoop());
|
|
|
| CompleteLoadingAndWait();
|
| }
|
| @@ -3010,18 +2970,12 @@
|
| public:
|
| FlushablePersistentStore() : flush_count_(0) {}
|
|
|
| - void Load(const LoadedCallback& loaded_callback) {
|
| + bool Load(const LoadedCallback& loaded_callback) {
|
| std::vector<CookieMonster::CanonicalCookie*> out_cookies;
|
| - MessageLoop::current()->PostTask(FROM_HERE,
|
| - base::Bind(&net::LoadedCallbackTask::Run,
|
| - new net::LoadedCallbackTask(loaded_callback, out_cookies)));
|
| + loaded_callback.Run(out_cookies);
|
| + return false;
|
| }
|
|
|
| - void LoadCookiesForKey(const std::string& key,
|
| - const LoadedCallback& loaded_callback) {
|
| - Load(loaded_callback);
|
| - }
|
| -
|
| void AddCookie(const CookieMonster::CanonicalCookie&) {}
|
| void UpdateCookieAccessTime(const CookieMonster::CanonicalCookie&) {}
|
| void DeleteCookie(const CookieMonster::CanonicalCookie&) {}
|
|
|