Chromium Code Reviews| Index: components/scheduler/base/task_queue_manager_unittest.cc |
| diff --git a/components/scheduler/base/task_queue_manager_unittest.cc b/components/scheduler/base/task_queue_manager_unittest.cc |
| index caf00b9b79e5ef10042e249866c5f024fd07a7ea..2a10df580e82063dbfb457d8b0c4b03eb3edcf7d 100644 |
| --- a/components/scheduler/base/task_queue_manager_unittest.cc |
| +++ b/components/scheduler/base/task_queue_manager_unittest.cc |
| @@ -1627,6 +1627,31 @@ TEST_F(TaskQueueManagerTest, TimeDomainMigration) { |
| manager_->UnregisterTimeDomain(domain_b.get()); |
| } |
| +TEST_F(TaskQueueManagerTest, TimeDomainMigrationWithIncommingImmediateTasks) { |
|
Sami
2016/07/27 09:57:56
s/incomming/incoming/
alex clarke (OOO till 29th)
2016/07/27 10:14:56
Done.
|
| + Initialize(1u); |
| + |
| + base::TimeTicks start_time = manager_->delegate()->NowTicks(); |
| + std::unique_ptr<VirtualTimeDomain> domain_a( |
| + new VirtualTimeDomain(nullptr, start_time)); |
| + std::unique_ptr<VirtualTimeDomain> domain_b( |
| + new VirtualTimeDomain(nullptr, start_time)); |
| + manager_->RegisterTimeDomain(domain_a.get()); |
| + manager_->RegisterTimeDomain(domain_b.get()); |
| + |
| + runners_[0]->SetTimeDomain(domain_a.get()); |
| + std::vector<EnqueueOrder> run_order; |
| + runners_[0]->PostTask(FROM_HERE, base::Bind(&TestTask, 1, &run_order)); |
| + runners_[0]->SetTimeDomain(domain_b.get()); |
| + |
| + test_task_runner_->RunUntilIdle(); |
| + EXPECT_THAT(run_order, ElementsAre(1)); |
| + |
| + runners_[0]->UnregisterTaskQueue(); |
| + |
| + manager_->UnregisterTimeDomain(domain_a.get()); |
| + manager_->UnregisterTimeDomain(domain_b.get()); |
| +} |
| + |
| namespace { |
| void ChromiumRunloopInspectionTask( |
| scoped_refptr<cc::OrderedSimpleTaskRunner> test_task_runner) { |