Index: components/offline_pages/background/request_coordinator_unittest.cc |
diff --git a/components/offline_pages/background/request_coordinator_unittest.cc b/components/offline_pages/background/request_coordinator_unittest.cc |
index b35b5945191582ef8aa36a65940b71b427220539..d63409ed2d579cfba0a43c51ee3669b9ecf39f4f 100644 |
--- a/components/offline_pages/background/request_coordinator_unittest.cc |
+++ b/components/offline_pages/background/request_coordinator_unittest.cc |
@@ -214,6 +214,10 @@ class RequestCoordinatorTest |
void GetRequestsDone(RequestQueue::GetRequestsResult result, |
const std::vector<SavePageRequest>& requests); |
+ // Callback for removing requests. |
+ void RemoveRequestsDone( |
+ const RequestQueue::UpdateMultipleRequestResults& results); |
+ |
// Callback for getting request statuses. |
void GetQueuedRequestsDone(const std::vector<SavePageRequest>& requests); |
@@ -228,6 +232,11 @@ class RequestCoordinatorTest |
return last_requests_; |
} |
+ const RequestQueue::UpdateMultipleRequestResults& last_remove_results() |
+ const { |
+ return last_remove_results_; |
+ } |
+ |
void EnableOfflinerCallback(bool enable) { |
offliner_->enable_callback(enable); |
} |
@@ -259,6 +268,7 @@ class RequestCoordinatorTest |
private: |
RequestQueue::GetRequestsResult last_get_requests_result_; |
std::vector<SavePageRequest> last_requests_; |
+ RequestQueue::UpdateMultipleRequestResults last_remove_results_; |
scoped_refptr<base::TestMockTimeTaskRunner> task_runner_; |
base::ThreadTaskRunnerHandle task_runner_handle_; |
std::unique_ptr<RequestCoordinator> coordinator_; |
@@ -304,6 +314,12 @@ void RequestCoordinatorTest::GetRequestsDone( |
last_requests_ = requests; |
} |
+void RequestCoordinatorTest::RemoveRequestsDone( |
+ const RequestQueue::UpdateMultipleRequestResults& results) { |
+ last_remove_results_ = results; |
+ waiter_.Signal(); |
+} |
+ |
void RequestCoordinatorTest::GetQueuedRequestsDone( |
const std::vector<SavePageRequest>& requests) { |
last_requests_ = requests; |
@@ -631,7 +647,9 @@ TEST_F(RequestCoordinatorTest, RemoveInflightRequest) { |
// Remove the request while it is processing. |
std::vector<int64_t> request_ids{kRequestId1}; |
- coordinator()->RemoveRequests(request_ids); |
+ coordinator()->RemoveRequests( |
+ request_ids, base::Bind(&RequestCoordinatorTest::RemoveRequestsDone, |
+ base::Unretained(this))); |
// Let the async callbacks in the cancel run. |
PumpLoop(); |
@@ -789,7 +807,7 @@ TEST_F(RequestCoordinatorTest, PauseAndResumeObserver) { |
EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, observer().state()); |
} |
-TEST_F(RequestCoordinatorTest, ObserverdRemoveRequest) { |
+TEST_F(RequestCoordinatorTest, RemoveRequest) { |
// Add a request to the queue. |
offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, |
base::Time::Now(), kUserRequested); |
@@ -801,12 +819,19 @@ TEST_F(RequestCoordinatorTest, ObserverdRemoveRequest) { |
// Remove the request. |
std::vector<int64_t> request_ids; |
request_ids.push_back(kRequestId1); |
- coordinator()->RemoveRequests(request_ids); |
+ coordinator()->RemoveRequests( |
+ request_ids, base::Bind(&RequestCoordinatorTest::RemoveRequestsDone, |
+ base::Unretained(this))); |
+ |
+ PumpLoop(); |
+ WaitForCallback(); |
PumpLoop(); |
EXPECT_TRUE(observer().completed_called()); |
EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, |
observer().last_status()); |
+ EXPECT_EQ(1UL, last_remove_results().size()); |
+ EXPECT_EQ(kRequestId1, std::get<0>(last_remove_results().at(0))); |
} |
} // namespace offline_pages |