OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // This class defines tests that implementations of TaskRunner should | 5 // This class defines tests that implementations of TaskRunner should |
6 // pass in order to be conformant. Here's how you use it to test your | 6 // pass in order to be conformant. Here's how you use it to test your |
7 // implementation. | 7 // implementation. |
8 // | 8 // |
9 // Say your class is called MyTaskRunner. Then you need to define a | 9 // Say your class is called MyTaskRunner. Then you need to define a |
10 // class called MyTaskRunnerTestDelegate in my_task_runner_unittest.cc | 10 // class called MyTaskRunnerTestDelegate in my_task_runner_unittest.cc |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 } | 141 } |
142 | 142 |
143 std::map<int, int> expected_task_run_counts; | 143 std::map<int, int> expected_task_run_counts; |
144 | 144 |
145 this->delegate_.StartTaskRunner(); | 145 this->delegate_.StartTaskRunner(); |
146 scoped_refptr<TaskRunner> task_runner = this->delegate_.GetTaskRunner(); | 146 scoped_refptr<TaskRunner> task_runner = this->delegate_.GetTaskRunner(); |
147 // Post each ith task i+1 times with delays from 0-i. | 147 // Post each ith task i+1 times with delays from 0-i. |
148 for (int i = 0; i < 20; ++i) { | 148 for (int i = 0; i < 20; ++i) { |
149 const Closure& ith_task = this->task_tracker_->WrapTask(Closure(), i); | 149 const Closure& ith_task = this->task_tracker_->WrapTask(Closure(), i); |
150 for (int j = 0; j < i + 1; ++j) { | 150 for (int j = 0; j < i + 1; ++j) { |
151 task_runner->PostDelayedTask(FROM_HERE, ith_task, j); | 151 task_runner->PostDelayedTask( |
| 152 FROM_HERE, ith_task, base::TimeDelta::FromMilliseconds(j)); |
152 ++expected_task_run_counts[i]; | 153 ++expected_task_run_counts[i]; |
153 } | 154 } |
154 } | 155 } |
155 this->delegate_.StopTaskRunner(); | 156 this->delegate_.StopTaskRunner(); |
156 | 157 |
157 EXPECT_EQ(expected_task_run_counts, | 158 EXPECT_EQ(expected_task_run_counts, |
158 this->task_tracker_->GetTaskRunCounts()); | 159 this->task_tracker_->GetTaskRunCounts()); |
159 } | 160 } |
160 | 161 |
161 namespace internal { | 162 namespace internal { |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 EXPECT_EQ(expected_task_run_counts, | 207 EXPECT_EQ(expected_task_run_counts, |
207 this->task_tracker_->GetTaskRunCounts()); | 208 this->task_tracker_->GetTaskRunCounts()); |
208 } | 209 } |
209 | 210 |
210 REGISTER_TYPED_TEST_CASE_P( | 211 REGISTER_TYPED_TEST_CASE_P( |
211 TaskRunnerTest, Basic, Delayed, RunsTasksOnCurrentThread); | 212 TaskRunnerTest, Basic, Delayed, RunsTasksOnCurrentThread); |
212 | 213 |
213 } // namespace base | 214 } // namespace base |
214 | 215 |
215 #endif //#define BASE_TEST_TASK_RUNNER_TEST_TEMPLATE_H_ | 216 #endif //#define BASE_TEST_TASK_RUNNER_TEST_TEMPLATE_H_ |
OLD | NEW |