| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/scheduler/child/task_queue_manager.h" | 5 #include "components/scheduler/child/task_queue_manager.h" |
| 6 | 6 |
| 7 #include "base/location.h" | 7 #include "base/location.h" |
| 8 #include "base/single_thread_task_runner.h" | 8 #include "base/single_thread_task_runner.h" |
| 9 #include "base/test/simple_test_tick_clock.h" | 9 #include "base/test/simple_test_tick_clock.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| (...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 995 manager_->SetWorkBatchSize(2); | 995 manager_->SetWorkBatchSize(2); |
| 996 manager_->AddTaskObserver(&observer); | 996 manager_->AddTaskObserver(&observer); |
| 997 | 997 |
| 998 std::vector<int> run_order; | 998 std::vector<int> run_order; |
| 999 scoped_refptr<base::SingleThreadTaskRunner> runner = | 999 scoped_refptr<base::SingleThreadTaskRunner> runner = |
| 1000 manager_->TaskRunnerForQueue(0); | 1000 manager_->TaskRunnerForQueue(0); |
| 1001 | 1001 |
| 1002 runner->PostTask(FROM_HERE, base::Bind(&TestTask, 1, &run_order)); | 1002 runner->PostTask(FROM_HERE, base::Bind(&TestTask, 1, &run_order)); |
| 1003 runner->PostTask(FROM_HERE, base::Bind(&TestTask, 2, &run_order)); | 1003 runner->PostTask(FROM_HERE, base::Bind(&TestTask, 2, &run_order)); |
| 1004 | 1004 |
| 1005 // Two pairs of callbacks for the tasks above plus another one for the | 1005 EXPECT_CALL(observer, WillProcessTask(_)).Times(2); |
| 1006 // DoWork() posted by the task queue manager. | 1006 EXPECT_CALL(observer, DidProcessTask(_)).Times(2); |
| 1007 EXPECT_CALL(observer, WillProcessTask(_)).Times(3); | |
| 1008 EXPECT_CALL(observer, DidProcessTask(_)).Times(3); | |
| 1009 message_loop_->RunUntilIdle(); | 1007 message_loop_->RunUntilIdle(); |
| 1010 } | 1008 } |
| 1011 | 1009 |
| 1012 TEST_F(TaskQueueManagerTest, TaskObserverRemoving) { | 1010 TEST_F(TaskQueueManagerTest, TaskObserverRemoving) { |
| 1013 InitializeWithRealMessageLoop(1u, SelectorType::Automatic); | 1011 InitializeWithRealMessageLoop(1u, SelectorType::Automatic); |
| 1014 MockTaskObserver observer; | 1012 MockTaskObserver observer; |
| 1015 manager_->SetWorkBatchSize(2); | 1013 manager_->SetWorkBatchSize(2); |
| 1016 manager_->AddTaskObserver(&observer); | 1014 manager_->AddTaskObserver(&observer); |
| 1017 manager_->RemoveTaskObserver(&observer); | 1015 manager_->RemoveTaskObserver(&observer); |
| 1018 | 1016 |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1326 runner->PostDelayedTaskAt(FROM_HERE, base::Bind(&TestTask, 4, &run_order), | 1324 runner->PostDelayedTaskAt(FROM_HERE, base::Bind(&TestTask, 4, &run_order), |
| 1327 runTime4); | 1325 runTime4); |
| 1328 | 1326 |
| 1329 now_src_->Advance(2 * delay); | 1327 now_src_->Advance(2 * delay); |
| 1330 test_task_runner_->RunUntilIdle(); | 1328 test_task_runner_->RunUntilIdle(); |
| 1331 | 1329 |
| 1332 EXPECT_THAT(run_order, ElementsAre(1, 2, 3, 4)); | 1330 EXPECT_THAT(run_order, ElementsAre(1, 2, 3, 4)); |
| 1333 } | 1331 } |
| 1334 | 1332 |
| 1335 } // namespace scheduler | 1333 } // namespace scheduler |
| OLD | NEW |