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

Side by Side Diff: components/scheduler/child/scheduler_helper_unittest.cc

Issue 987193002: Redirect the MessageLoop's task runner to the renderer scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years, 5 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 "components/scheduler/child/scheduler_helper.h" 5 #include "components/scheduler/child/scheduler_helper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "cc/test/ordered_simple_task_runner.h" 9 #include "cc/test/ordered_simple_task_runner.h"
10 #include "components/scheduler/child/nestable_task_runner_for_test.h" 10 #include "components/scheduler/child/scheduler_task_runner_delegate_for_test.h"
11 #include "components/scheduler/child/scheduler_message_loop_delegate.h"
12 #include "components/scheduler/child/task_queue.h" 11 #include "components/scheduler/child/task_queue.h"
13 #include "components/scheduler/child/test_time_source.h" 12 #include "components/scheduler/child/test_time_source.h"
14 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
16 15
17 using testing::_; 16 using testing::_;
18 using testing::AnyNumber; 17 using testing::AnyNumber;
19 using testing::Invoke; 18 using testing::Invoke;
20 using testing::Return; 19 using testing::Return;
21 20
(...skipping 18 matching lines...) Expand all
40 } 39 }
41 } 40 }
42 41
43 }; // namespace 42 }; // namespace
44 43
45 class SchedulerHelperTest : public testing::Test { 44 class SchedulerHelperTest : public testing::Test {
46 public: 45 public:
47 SchedulerHelperTest() 46 SchedulerHelperTest()
48 : clock_(new base::SimpleTestTickClock()), 47 : clock_(new base::SimpleTestTickClock()),
49 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)), 48 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_.get(), false)),
50 nestable_task_runner_( 49 main_task_runner_(
51 NestableTaskRunnerForTest::Create(mock_task_runner_)), 50 SchedulerTaskRunnerDelegateForTest::Create(mock_task_runner_)),
52 scheduler_helper_( 51 scheduler_helper_(
53 new SchedulerHelper(nestable_task_runner_, 52 new SchedulerHelper(main_task_runner_,
54 "test.scheduler", 53 "test.scheduler",
55 TRACE_DISABLED_BY_DEFAULT("test.scheduler"), 54 TRACE_DISABLED_BY_DEFAULT("test.scheduler"),
56 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"), 55 TRACE_DISABLED_BY_DEFAULT("test.scheduler.dbg"),
57 SchedulerHelper::TASK_QUEUE_COUNT)), 56 SchedulerHelper::TASK_QUEUE_COUNT)),
58 default_task_runner_(scheduler_helper_->DefaultTaskRunner()) { 57 default_task_runner_(scheduler_helper_->DefaultTaskRunner()) {
59 clock_->Advance(base::TimeDelta::FromMicroseconds(5000)); 58 clock_->Advance(base::TimeDelta::FromMicroseconds(5000));
60 scheduler_helper_->SetTimeSourceForTesting( 59 scheduler_helper_->SetTimeSourceForTesting(
61 make_scoped_ptr(new TestTimeSource(clock_.get()))); 60 make_scoped_ptr(new TestTimeSource(clock_.get())));
62 scheduler_helper_->GetTaskQueueManagerForTesting()->SetTimeSourceForTesting( 61 scheduler_helper_->GetTaskQueueManagerForTesting()->SetTimeSourceForTesting(
63 make_scoped_ptr(new TestTimeSource(clock_.get()))); 62 make_scoped_ptr(new TestTimeSource(clock_.get())));
(...skipping 23 matching lines...) Expand all
87 static void CheckAllTaskQueueIdToString() { 86 static void CheckAllTaskQueueIdToString() {
88 CallForEachEnumValue<SchedulerHelper::QueueId>( 87 CallForEachEnumValue<SchedulerHelper::QueueId>(
89 SchedulerHelper::FIRST_QUEUE_ID, SchedulerHelper::TASK_QUEUE_COUNT, 88 SchedulerHelper::FIRST_QUEUE_ID, SchedulerHelper::TASK_QUEUE_COUNT,
90 &SchedulerHelper::TaskQueueIdToString); 89 &SchedulerHelper::TaskQueueIdToString);
91 } 90 }
92 91
93 protected: 92 protected:
94 scoped_ptr<base::SimpleTestTickClock> clock_; 93 scoped_ptr<base::SimpleTestTickClock> clock_;
95 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_; 94 scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_;
96 95
97 scoped_refptr<NestableSingleThreadTaskRunner> nestable_task_runner_; 96 scoped_refptr<SchedulerTaskRunnerDelegateForTest> main_task_runner_;
98 scoped_ptr<SchedulerHelper> scheduler_helper_; 97 scoped_ptr<SchedulerHelper> scheduler_helper_;
99 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_; 98 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_;
100 99
101 DISALLOW_COPY_AND_ASSIGN(SchedulerHelperTest); 100 DISALLOW_COPY_AND_ASSIGN(SchedulerHelperTest);
102 }; 101 };
103 102
104 TEST_F(SchedulerHelperTest, TestPostDefaultTask) { 103 TEST_F(SchedulerHelperTest, TestPostDefaultTask) {
105 std::vector<std::string> run_order; 104 std::vector<std::string> run_order;
106 default_task_runner_->PostTask( 105 default_task_runner_->PostTask(
107 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1")); 106 FROM_HERE, base::Bind(&AppendToVectorTestTask, &run_order, "D1"));
(...skipping 25 matching lines...) Expand all
133 EXPECT_FALSE(scheduler_helper_->IsShutdown()); 132 EXPECT_FALSE(scheduler_helper_->IsShutdown());
134 133
135 scheduler_helper_->Shutdown(); 134 scheduler_helper_->Shutdown();
136 EXPECT_TRUE(scheduler_helper_->IsShutdown()); 135 EXPECT_TRUE(scheduler_helper_->IsShutdown());
137 } 136 }
138 137
139 TEST_F(SchedulerHelperTest, TaskQueueIdToString) { 138 TEST_F(SchedulerHelperTest, TaskQueueIdToString) {
140 CheckAllTaskQueueIdToString(); 139 CheckAllTaskQueueIdToString();
141 } 140 }
142 141
142 TEST_F(SchedulerHelperTest, DefaultTaskRunnerRegistration) {
143 EXPECT_EQ(main_task_runner_->default_task_runner(),
144 scheduler_helper_->DefaultTaskRunner());
145 scheduler_helper_->Shutdown();
146 EXPECT_EQ(nullptr, main_task_runner_->default_task_runner());
147 }
148
143 } // namespace scheduler 149 } // namespace scheduler
OLDNEW
« no previous file with comments | « components/scheduler/child/scheduler_helper.cc ('k') | components/scheduler/child/scheduler_message_loop_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698