Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/child/scheduler_helper_unittest.cc

Issue 2812313002: [scheduler] Remove blink::scheduler::TaskQueue from public API. (Closed)
Patch Set: Rebased & addressed skyostil@'s comment Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "platform/scheduler/child/scheduler_helper.h" 5 #include "platform/scheduler/child/scheduler_helper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/test/simple_test_tick_clock.h" 10 #include "base/test/simple_test_tick_clock.h"
11 #include "cc/test/ordered_simple_task_runner.h" 11 #include "cc/test/ordered_simple_task_runner.h"
12 #include "public/platform/scheduler/base/task_queue.h"
13 #include "platform/scheduler/base/lazy_now.h" 12 #include "platform/scheduler/base/lazy_now.h"
13 #include "platform/scheduler/base/task_queue.h"
14 #include "platform/scheduler/base/test_time_source.h" 14 #include "platform/scheduler/base/test_time_source.h"
15 #include "platform/scheduler/child/scheduler_tqm_delegate_for_test.h" 15 #include "platform/scheduler/child/scheduler_tqm_delegate_for_test.h"
16 #include "testing/gmock/include/gmock/gmock.h" 16 #include "testing/gmock/include/gmock/gmock.h"
17 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
18 18
19 using testing::_; 19 using testing::_;
20 using testing::AnyNumber; 20 using testing::AnyNumber;
21 using testing::Invoke; 21 using testing::Invoke;
22 using testing::Return; 22 using testing::Return;
23 23
(...skipping 27 matching lines...) Expand all
51 : clock_(new base::SimpleTestTickClock()), 51 : clock_(new base::SimpleTestTickClock()),
52 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)), 52 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)),
53 main_task_runner_(SchedulerTqmDelegateForTest::Create( 53 main_task_runner_(SchedulerTqmDelegateForTest::Create(
54 mock_task_runner_, 54 mock_task_runner_,
55 base::WrapUnique(new TestTimeSource(clock_.get())))), 55 base::WrapUnique(new TestTimeSource(clock_.get())))),
56 scheduler_helper_(new SchedulerHelper( 56 scheduler_helper_(new SchedulerHelper(
57 main_task_runner_, 57 main_task_runner_,
58 "test.scheduler", 58 "test.scheduler",
59 TRACE_DISABLED_BY_DEFAULT("test.scheduler"), 59 TRACE_DISABLED_BY_DEFAULT("test.scheduler"),
60 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"))), 60 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"))),
61 default_task_runner_(scheduler_helper_->DefaultTaskRunner()) { 61 default_task_runner_(scheduler_helper_->DefaultTaskQueue()) {
62 clock_->Advance(base::TimeDelta::FromMicroseconds(5000)); 62 clock_->Advance(base::TimeDelta::FromMicroseconds(5000));
63 } 63 }
64 64
65 ~SchedulerHelperTest() override {} 65 ~SchedulerHelperTest() override {}
66 66
67 void TearDown() override { 67 void TearDown() override {
68 // Check that all tests stop posting tasks. 68 // Check that all tests stop posting tasks.
69 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true); 69 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true);
70 while (mock_task_runner_->RunUntilIdle()) { 70 while (mock_task_runner_->RunUntilIdle()) {
71 } 71 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 125
126 TEST_F(SchedulerHelperTest, IsShutdown) { 126 TEST_F(SchedulerHelperTest, IsShutdown) {
127 EXPECT_FALSE(scheduler_helper_->IsShutdown()); 127 EXPECT_FALSE(scheduler_helper_->IsShutdown());
128 128
129 scheduler_helper_->Shutdown(); 129 scheduler_helper_->Shutdown();
130 EXPECT_TRUE(scheduler_helper_->IsShutdown()); 130 EXPECT_TRUE(scheduler_helper_->IsShutdown());
131 } 131 }
132 132
133 TEST_F(SchedulerHelperTest, DefaultTaskRunnerRegistration) { 133 TEST_F(SchedulerHelperTest, DefaultTaskRunnerRegistration) {
134 EXPECT_EQ(main_task_runner_->default_task_runner(), 134 EXPECT_EQ(main_task_runner_->default_task_runner(),
135 scheduler_helper_->DefaultTaskRunner()); 135 scheduler_helper_->DefaultTaskQueue());
136 scheduler_helper_->Shutdown(); 136 scheduler_helper_->Shutdown();
137 EXPECT_EQ(nullptr, main_task_runner_->default_task_runner()); 137 EXPECT_EQ(nullptr, main_task_runner_->default_task_runner());
138 } 138 }
139 139
140 TEST_F(SchedulerHelperTest, GetNumberOfPendingTasks) { 140 TEST_F(SchedulerHelperTest, GetNumberOfPendingTasks) {
141 std::vector<std::string> run_order; 141 std::vector<std::string> run_order;
142 scheduler_helper_->DefaultTaskRunner()->PostTask( 142 scheduler_helper_->DefaultTaskQueue()->PostTask(
143 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1")); 143 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1"));
144 scheduler_helper_->DefaultTaskRunner()->PostTask( 144 scheduler_helper_->DefaultTaskQueue()->PostTask(
145 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D2")); 145 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D2"));
146 scheduler_helper_->ControlTaskRunner()->PostTask( 146 scheduler_helper_->ControlTaskQueue()->PostTask(
147 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "C1")); 147 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "C1"));
148 EXPECT_EQ(3U, scheduler_helper_->GetNumberOfPendingTasks()); 148 EXPECT_EQ(3U, scheduler_helper_->GetNumberOfPendingTasks());
149 RunUntilIdle(); 149 RunUntilIdle();
150 EXPECT_EQ(0U, scheduler_helper_->GetNumberOfPendingTasks()); 150 EXPECT_EQ(0U, scheduler_helper_->GetNumberOfPendingTasks());
151 } 151 }
152 152
153 namespace { 153 namespace {
154 class MockTaskObserver : public base::MessageLoop::TaskObserver { 154 class MockTaskObserver : public base::MessageLoop::TaskObserver {
155 public: 155 public:
156 MOCK_METHOD1(DidProcessTask, void(const base::PendingTask& task)); 156 MOCK_METHOD1(DidProcessTask, void(const base::PendingTask& task));
157 MOCK_METHOD1(WillProcessTask, void(const base::PendingTask& task)); 157 MOCK_METHOD1(WillProcessTask, void(const base::PendingTask& task));
158 }; 158 };
159 159
160 void NopTask() {} 160 void NopTask() {}
161 } // namespace 161 } // namespace
162 162
163 TEST_F(SchedulerHelperTest, ObserversNotifiedFor_DefaultTaskRunner) { 163 TEST_F(SchedulerHelperTest, ObserversNotifiedFor_DefaultTaskRunner) {
164 MockTaskObserver observer; 164 MockTaskObserver observer;
165 scheduler_helper_->AddTaskObserver(&observer); 165 scheduler_helper_->AddTaskObserver(&observer);
166 166
167 scheduler_helper_->DefaultTaskRunner()->PostTask(FROM_HERE, 167 scheduler_helper_->DefaultTaskQueue()->PostTask(FROM_HERE,
168 base::Bind(&NopTask)); 168 base::Bind(&NopTask));
169 169
170 EXPECT_CALL(observer, WillProcessTask(_)).Times(1); 170 EXPECT_CALL(observer, WillProcessTask(_)).Times(1);
171 EXPECT_CALL(observer, DidProcessTask(_)).Times(1); 171 EXPECT_CALL(observer, DidProcessTask(_)).Times(1);
172 RunUntilIdle(); 172 RunUntilIdle();
173 } 173 }
174 174
175 TEST_F(SchedulerHelperTest, ObserversNotNotifiedFor_ControlTaskRunner) { 175 TEST_F(SchedulerHelperTest, ObserversNotNotifiedFor_ControlTaskQueue) {
176 MockTaskObserver observer; 176 MockTaskObserver observer;
177 scheduler_helper_->AddTaskObserver(&observer); 177 scheduler_helper_->AddTaskObserver(&observer);
178 178
179 scheduler_helper_->ControlTaskRunner()->PostTask(FROM_HERE, 179 scheduler_helper_->ControlTaskQueue()->PostTask(FROM_HERE,
180 base::Bind(&NopTask)); 180 base::Bind(&NopTask));
181 181
182 EXPECT_CALL(observer, WillProcessTask(_)).Times(0); 182 EXPECT_CALL(observer, WillProcessTask(_)).Times(0);
183 EXPECT_CALL(observer, DidProcessTask(_)).Times(0); 183 EXPECT_CALL(observer, DidProcessTask(_)).Times(0);
184 RunUntilIdle(); 184 RunUntilIdle();
185 } 185 }
186 186
187 namespace { 187 namespace {
188 188
189 class MockObserver : public SchedulerHelper::Observer { 189 class MockObserver : public SchedulerHelper::Observer {
190 public: 190 public:
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 voter->SetQueueEnabled(false); 227 voter->SetQueueEnabled(false);
228 228
229 EXPECT_CALL(observer, OnTriedToExecuteBlockedTask(_, _)).Times(1); 229 EXPECT_CALL(observer, OnTriedToExecuteBlockedTask(_, _)).Times(1);
230 RunUntilIdle(); 230 RunUntilIdle();
231 231
232 scheduler_helper_->SetObserver(nullptr); 232 scheduler_helper_->SetObserver(nullptr);
233 } 233 }
234 234
235 } // namespace scheduler 235 } // namespace scheduler
236 } // namespace blink 236 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698