Index: content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
diff --git a/content/browser/background_fetch/background_fetch_job_controller_unittest.cc b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
index 654a5ca898ec81bbced6fa9997721f4cb5dd19f0..de2ebb3e41cac181fdb7d4fb5e45242bf6c0b490 100644 |
--- a/content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
+++ b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
@@ -93,9 +93,13 @@ class BackgroundFetchJobControllerTest : public ::testing::Test { |
job_controller_ = base::MakeUnique<BackgroundFetchJobController>( |
kJobGuid, &browser_context_, |
BrowserContext::GetDefaultStoragePartition(&browser_context_), |
- std::move(job_data)); |
+ std::move(job_data), |
+ base::BindOnce(&BackgroundFetchJobControllerTest::DidCompleteJob, |
+ base::Unretained(this))); |
} |
+ void DidCompleteJob() { did_complete_job_ = true; } |
+ |
void StartProcessing() { |
base::RunLoop run_loop; |
BrowserThread::PostTask( |
@@ -119,7 +123,10 @@ class BackgroundFetchJobControllerTest : public ::testing::Test { |
DownloadItem::Observer* ItemObserver() const { return job_controller_.get(); } |
+ bool did_complete_job() const { return did_complete_job_; } |
+ |
private: |
+ bool did_complete_job_ = false; |
TestBrowserThreadBundle thread_bundle_; |
TestBrowserContext browser_context_; |
std::unique_ptr<BackgroundFetchJobController> job_controller_; |
@@ -154,12 +161,15 @@ TEST_F(BackgroundFetchJobControllerTest, SingleRequestJob) { |
// Update the observer with no actual change. |
ItemObserver()->OnDownloadUpdated(item); |
EXPECT_FALSE(job_data->IsComplete()); |
+ EXPECT_FALSE(did_complete_job()); |
// Update the item to be completed then update the observer. The JobController |
// should update the JobData that the request is complete. |
item->SetState(DownloadItem::DownloadState::COMPLETE); |
ItemObserver()->OnDownloadUpdated(item); |
EXPECT_TRUE(job_data->IsComplete()); |
+ |
+ EXPECT_TRUE(did_complete_job()); |
} |
TEST_F(BackgroundFetchJobControllerTest, MultipleRequestJob) { |
@@ -203,6 +213,7 @@ TEST_F(BackgroundFetchJobControllerTest, MultipleRequestJob) { |
EXPECT_FALSE(job_data->IsComplete()); |
} |
EXPECT_FALSE(job_data->HasRequestsRemaining()); |
+ EXPECT_FALSE(did_complete_job()); |
// Finally, update the last request to be complete. The JobController should |
// see that there are no more requests and mark the job as done. |
@@ -211,6 +222,8 @@ TEST_F(BackgroundFetchJobControllerTest, MultipleRequestJob) { |
item->SetState(DownloadItem::DownloadState::COMPLETE); |
ItemObserver()->OnDownloadUpdated(item); |
EXPECT_TRUE(job_data->IsComplete()); |
+ |
+ EXPECT_TRUE(did_complete_job()); |
} |
} // namespace content |