| Index: components/offline_pages/background/request_queue_store_unittest.cc
|
| diff --git a/components/offline_pages/background/request_queue_store_unittest.cc b/components/offline_pages/background/request_queue_store_unittest.cc
|
| index 7a75be9d265f4bf3db0c0a934551bcc8d0265ba4..9ef5f1cd17bc650f36bbed80aab6157c507f4344 100644
|
| --- a/components/offline_pages/background/request_queue_store_unittest.cc
|
| +++ b/components/offline_pages/background/request_queue_store_unittest.cc
|
| @@ -292,6 +292,56 @@ TYPED_TEST(RequestQueueStoreTest, RemoveRequest) {
|
| ASSERT_EQ(0, this->last_remove_count());
|
| }
|
|
|
| +
|
| +TYPED_TEST(RequestQueueStoreTest, RemoveRequestByClientId) {
|
| + std::unique_ptr<RequestQueueStore> store(this->BuildStore());
|
| + base::Time creation_time = base::Time::Now();
|
| + SavePageRequest original_request(
|
| + kRequestId, kUrl, kClientId, creation_time, kUserRequested);
|
| + store->AddOrUpdateRequest(
|
| + original_request, base::Bind(&RequestQueueStoreTestBase::AddOrUpdateDone,
|
| + base::Unretained(this)));
|
| + this->PumpLoop();
|
| + this->ClearResults();
|
| +
|
| + // For debugging only, remove next code paragraph before checkin.
|
| + store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone,
|
| + base::Unretained(this)));
|
| + this->PumpLoop();
|
| + this->ClearResults();
|
| +
|
| + std::vector<ClientId> client_ids{kClientId};
|
| + store->RemoveRequestsByClientId(
|
| + client_ids,
|
| + base::Bind(&RequestQueueStoreTestBase::RemoveDone,
|
| + base::Unretained(this)));
|
| + ASSERT_EQ(LastResult::kNone, this->last_result());
|
| + ASSERT_EQ(0, this->last_remove_count());
|
| + this->PumpLoop();
|
| + ASSERT_EQ(LastResult::kTrue, this->last_result());
|
| + ASSERT_EQ(1, this->last_remove_count());
|
| + this->ClearResults();
|
| +
|
| + store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone,
|
| + base::Unretained(this)));
|
| + this->PumpLoop();
|
| + ASSERT_EQ(LastResult::kTrue, this->last_result());
|
| + ASSERT_TRUE(this->last_requests().empty());
|
| + this->ClearResults();
|
| +
|
| + // Removing a request that is missing fails.
|
| + store->RemoveRequestsByClientId(
|
| + client_ids,
|
| + base::Bind(&RequestQueueStoreTestBase::RemoveDone,
|
| + base::Unretained(this)));
|
| + ASSERT_EQ(LastResult::kNone, this->last_result());
|
| + ASSERT_EQ(0, this->last_remove_count());
|
| + this->PumpLoop();
|
| + ASSERT_EQ(LastResult::kTrue, this->last_result());
|
| + ASSERT_EQ(0, this->last_remove_count());
|
| +}
|
| +
|
| +
|
| TYPED_TEST(RequestQueueStoreTest, ResetStore) {
|
| std::unique_ptr<RequestQueueStore> store(this->BuildStore());
|
| base::Time creation_time = base::Time::Now();
|
|
|