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 ea602d2e24b98d1ebafc977480e84df29865ba65..753ed548dbb1801765f00a2f1a2830969a49b64c 100644 |
--- a/content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
+++ b/content/browser/background_fetch/background_fetch_job_controller_unittest.cc |
@@ -32,10 +32,7 @@ namespace content { |
class BackgroundFetchJobControllerTest : public ::testing::Test { |
public: |
BackgroundFetchJobControllerTest() |
- : job_controller_( |
- &browser_context_, |
- BrowserContext::GetDefaultStoragePartition(&browser_context_)), |
- download_manager_(new MockDownloadManager()) {} |
+ : download_manager_(new MockDownloadManager()) {} |
~BackgroundFetchJobControllerTest() override = default; |
void SetUp() override { |
@@ -45,31 +42,37 @@ class BackgroundFetchJobControllerTest : public ::testing::Test { |
download_manager_); |
} |
- void ProcessJob(const std::string& job_guid, |
- BackgroundFetchJobData* job_data) { |
+ void InitializeJobController( |
+ std::unique_ptr<BackgroundFetchJobData> job_data) { |
+ job_controller_ = base::MakeUnique<BackgroundFetchJobController>( |
+ kJobGuid, &browser_context_, |
+ BrowserContext::GetDefaultStoragePartition(&browser_context_), |
+ std::move(job_data)); |
+ } |
+ |
+ void StartProcessing() { |
base::RunLoop run_loop; |
BrowserThread::PostTask( |
BrowserThread::IO, FROM_HERE, |
- base::Bind(&BackgroundFetchJobControllerTest::ProcessJobOnIO, |
- base::Unretained(this), job_guid, job_data, |
- run_loop.QuitClosure())); |
+ base::Bind(&BackgroundFetchJobControllerTest::StartProcessingOnIO, |
+ base::Unretained(this), run_loop.QuitClosure())); |
run_loop.Run(); |
} |
- void ProcessJobOnIO(const std::string& job_guid, |
- BackgroundFetchJobData* job_data, |
- const base::Closure& closure) { |
- job_controller_.ProcessJob(job_guid, job_data); |
+ void StartProcessingOnIO(const base::Closure& closure) { |
+ job_controller_->StartProcessing(); |
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, closure); |
} |
- BackgroundFetchJobController* job_controller() { return &job_controller_; } |
+ BackgroundFetchJobController* job_controller() { |
+ return job_controller_.get(); |
+ } |
MockDownloadManager* download_manager() { return download_manager_; } |
private: |
TestBrowserThreadBundle thread_bundle_; |
TestBrowserContext browser_context_; |
- BackgroundFetchJobController job_controller_; |
+ std::unique_ptr<BackgroundFetchJobController> job_controller_; |
MockDownloadManager* download_manager_; |
}; |
@@ -81,14 +84,16 @@ TEST_F(BackgroundFetchJobControllerTest, StartDownload) { |
// Get a JobData to give to the JobController. The JobController then gets |
// the BackgroundFetchRequestInfos from the JobData. |
- BackgroundFetchJobData job_data(request_infos); |
+ std::unique_ptr<BackgroundFetchJobData> job_data = |
+ base::MakeUnique<BackgroundFetchJobData>(request_infos); |
+ InitializeJobController(std::move(job_data)); |
EXPECT_CALL(*(download_manager()), |
DownloadUrlMock(::testing::Pointee(::testing::Property( |
&DownloadUrlParameters::url, GURL(kTestUrl))))) |
.Times(1); |
- ProcessJob(kJobGuid, &job_data); |
+ StartProcessing(); |
} |
} // namespace content |