| Index: base/task_scheduler/delayed_task_manager_unittest.cc
|
| diff --git a/base/task_scheduler/delayed_task_manager_unittest.cc b/base/task_scheduler/delayed_task_manager_unittest.cc
|
| index f964cda5a67ab720ab8c8f475f575aa227f466e4..f1c0a75349ef7712deb941dc72d479b42ba4e094 100644
|
| --- a/base/task_scheduler/delayed_task_manager_unittest.cc
|
| +++ b/base/task_scheduler/delayed_task_manager_unittest.cc
|
| @@ -71,6 +71,17 @@ class MockSchedulerWorkerPool : public SchedulerWorkerPool {
|
| const SchedulerWorker* worker));
|
| };
|
|
|
| +// Posts |task|. The task will be forwarded to |worker_pool| with |sequence|
|
| +// and |worker| when it becomes ripe for execution. |worker| is a
|
| +// SchedulerWorker owned by |worker_pool| or nullptr.
|
| +void PostTaskToWorkerPool(scoped_refptr<Sequence> sequence,
|
| + SchedulerWorker* worker,
|
| + SchedulerWorkerPool* worker_pool,
|
| + std::unique_ptr<Task> task) {
|
| + worker_pool->PostTaskWithSequenceNow(std::move(task), std::move(sequence),
|
| + worker);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // Verify that a delayed task isn't forwarded to its SchedulerWorkerPool before
|
| @@ -86,7 +97,9 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTaskDoesNotRunTooEarly) {
|
| testing::StrictMock<MockSchedulerWorkerPool> worker_pool;
|
|
|
| // Send |task| to the DelayedTaskManager.
|
| - manager.AddDelayedTask(std::move(task), sequence, nullptr, &worker_pool);
|
| + manager.AddDelayedTask(
|
| + std::move(task),
|
| + Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool)));
|
|
|
| // Run tasks that are ripe for execution. Don't expect any call to the mock
|
| // method of |worker_pool|.
|
| @@ -107,7 +120,9 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTaskRunsAfterDelay) {
|
| testing::StrictMock<MockSchedulerWorkerPool> worker_pool;
|
|
|
| // Send |task| to the DelayedTaskManager.
|
| - manager.AddDelayedTask(std::move(task), sequence, nullptr, &worker_pool);
|
| + manager.AddDelayedTask(
|
| + std::move(task),
|
| + Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool)));
|
|
|
| // Fast-forward time. Expect a call to the mock method of |worker_pool|.
|
| EXPECT_CALL(worker_pool,
|
| @@ -138,9 +153,15 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTasksRunAfterDelay) {
|
| const Task* task_c_raw = task_c.get();
|
|
|
| // Send tasks to the DelayedTaskManager.
|
| - manager.AddDelayedTask(std::move(task_a), sequence, nullptr, &worker_pool);
|
| - manager.AddDelayedTask(std::move(task_b), sequence, nullptr, &worker_pool);
|
| - manager.AddDelayedTask(std::move(task_c), sequence, nullptr, &worker_pool);
|
| + manager.AddDelayedTask(
|
| + std::move(task_a),
|
| + Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool)));
|
| + manager.AddDelayedTask(
|
| + std::move(task_b),
|
| + Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool)));
|
| + manager.AddDelayedTask(
|
| + std::move(task_c),
|
| + Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool)));
|
|
|
| // Run tasks that are ripe for execution on the service thread. Don't expect
|
| // any call to the mock method of |worker_pool|.
|
|
|