Chromium Code Reviews| Index: components/offline_pages/background/request_queue_unittest.cc |
| diff --git a/components/offline_pages/background/request_queue_unittest.cc b/components/offline_pages/background/request_queue_unittest.cc |
| index 875bfb2d5908cc22d01a3424e5588d7e8fb49078..3a352606f375e66d4fefb74ccd9fe8514fe0a250 100644 |
| --- a/components/offline_pages/background/request_queue_unittest.cc |
| +++ b/components/offline_pages/background/request_queue_unittest.cc |
| @@ -175,6 +175,44 @@ TEST_F(RequestQueueTest, RemoveRequest) { |
| ASSERT_EQ(0ul, last_requests().size()); |
| } |
| +TEST_F(RequestQueueTest, RemoveRequestByClientId) { |
| + base::Time creation_time = base::Time::Now(); |
| + // Put two requests on the queue with different client IDs. |
| + SavePageRequest request( |
| + kRequestId, kUrl, kClientId, creation_time, kUserRequested); |
| + queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone, |
| + base::Unretained(this))); |
| + SavePageRequest request2( |
| + kRequestId2, kUrl2, kClientId2, creation_time, kUserRequested); |
| + queue()->AddRequest(request2, base::Bind(&RequestQueueTest::AddRequestDone, |
| + base::Unretained(this))); |
| + PumpLoop(); |
| + |
| + queue()->GetRequests( |
| + base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); |
| + PumpLoop(); |
| + ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); |
| + ASSERT_EQ(2ul, last_requests().size()); |
| + |
| + std::vector<ClientId> client_ids; |
| + client_ids.push_back(kClientId); |
| + |
| + // Removing the first client ID should leave only the second on the queue. |
| + queue()->RemoveRequestsByClientId( |
| + client_ids, |
| + base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this))); |
| + PumpLoop(); |
| + ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result()); |
| + |
| + queue()->GetRequests( |
| + base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); |
| + PumpLoop(); |
| + ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); |
| + ASSERT_EQ(1ul, last_requests().size()); |
| + ASSERT_EQ(kClientId2, last_requests().front().client_id()); |
| +} |
| + |
|
fgorski
2016/08/02 05:01:23
nit: empty line is not needed.
Pete Williamson
2016/08/02 23:27:17
Done.
|
| + |
| // A longer test populating the request queue with more than one item, properly |
| // listing multiple items and removing the right item. |
| TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) { |