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

Side by Side Diff: services/ui/display/screen_manager_ozone_internal_unittests.cc

Issue 2685003002: Rename ScreeManagerOzone to ScreenManagerOzoneInternal (Closed)
Patch Set: patch for landing Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "services/ui/common/task_runner_test_base.h" 12 #include "services/ui/common/task_runner_test_base.h"
13 #include "services/ui/display/screen_manager_ozone.h" 13 #include "services/ui/display/screen_manager_ozone_internal.h"
14 #include "services/ui/display/viewport_metrics.h" 14 #include "services/ui/display/viewport_metrics.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "ui/display/display.h" 17 #include "ui/display/display.h"
18 #include "ui/display/display_switches.h" 18 #include "ui/display/display_switches.h"
19 #include "ui/display/fake_display_delegate.h" 19 #include "ui/display/fake_display_delegate.h"
20 #include "ui/display/fake_display_snapshot.h" 20 #include "ui/display/fake_display_snapshot.h"
21 #include "ui/display/screen.h" 21 #include "ui/display/screen.h"
22 #include "ui/display/types/display_constants.h" 22 #include "ui/display/types/display_constants.h"
23 #include "ui/display/types/display_mode.h" 23 #include "ui/display/types/display_mode.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 std::vector<DisplayState> added_; 105 std::vector<DisplayState> added_;
106 std::vector<DisplayState> modified_; 106 std::vector<DisplayState> modified_;
107 std::string changes_; 107 std::string changes_;
108 108
109 DISALLOW_COPY_AND_ASSIGN(TestScreenManagerDelegate); 109 DISALLOW_COPY_AND_ASSIGN(TestScreenManagerDelegate);
110 }; 110 };
111 111
112 } // namespace 112 } // namespace
113 113
114 // Test fixture with helpers to act like DisplayConfigurator and send 114 // Test fixture with helpers to act like DisplayConfigurator and send
115 // OnDisplayModeChanged() to ScreenManagerOzone. 115 // OnDisplayModeChanged() to ScreenManagerOzoneInternal.
116 class ScreenManagerOzoneTest : public ui::TaskRunnerTestBase { 116 class ScreenManagerOzoneInternalTest : public ui::TaskRunnerTestBase {
117 public: 117 public:
118 ScreenManagerOzoneTest() {} 118 ScreenManagerOzoneInternalTest() {}
119 ~ScreenManagerOzoneTest() override {} 119 ~ScreenManagerOzoneInternalTest() override {}
120 120
121 ScreenManagerOzone* screen_manager() { return screen_manager_.get(); } 121 ScreenManagerOzoneInternal* screen_manager() { return screen_manager_.get(); }
122 TestScreenManagerDelegate* delegate() { return &delegate_; } 122 TestScreenManagerDelegate* delegate() { return &delegate_; }
123 123
124 // Adds a display snapshot with specified ID and default size. 124 // Adds a display snapshot with specified ID and default size.
125 void AddDisplay(int64_t id) { 125 void AddDisplay(int64_t id) {
126 return AddDisplay(FakeDisplaySnapshot::Builder() 126 return AddDisplay(FakeDisplaySnapshot::Builder()
127 .SetId(id) 127 .SetId(id)
128 .SetNativeMode(gfx::Size(1024, 768)) 128 .SetNativeMode(gfx::Size(1024, 768))
129 .Build()); 129 .Build());
130 } 130 }
131 131
(...skipping 13 matching lines...) Expand all
145 static void TearDownTestCase() { ui::DeviceDataManager::DeleteInstance(); } 145 static void TearDownTestCase() { ui::DeviceDataManager::DeleteInstance(); }
146 146
147 private: 147 private:
148 // testing::Test: 148 // testing::Test:
149 void SetUp() override { 149 void SetUp() override {
150 TaskRunnerTestBase::SetUp(); 150 TaskRunnerTestBase::SetUp();
151 151
152 base::CommandLine::ForCurrentProcess()->AppendSwitchNative( 152 base::CommandLine::ForCurrentProcess()->AppendSwitchNative(
153 switches::kScreenConfig, "none"); 153 switches::kScreenConfig, "none");
154 154
155 screen_manager_ = base::MakeUnique<ScreenManagerOzone>(); 155 screen_manager_ = base::MakeUnique<ScreenManagerOzoneInternal>();
156 156
157 // Create NDD for FakeDisplayController. 157 // Create NDD for FakeDisplayController.
158 std::unique_ptr<NativeDisplayDelegate> ndd = 158 std::unique_ptr<NativeDisplayDelegate> ndd =
159 base::MakeUnique<FakeDisplayDelegate>(); 159 base::MakeUnique<FakeDisplayDelegate>();
160 fake_display_controller_ = ndd->GetFakeDisplayController(); 160 fake_display_controller_ = ndd->GetFakeDisplayController();
161 161
162 // Add NDD to ScreenManager so one isn't loaded from Ozone. 162 // Add NDD to ScreenManager so one isn't loaded from Ozone.
163 screen_manager_->native_display_delegate_ = std::move(ndd); 163 screen_manager_->native_display_delegate_ = std::move(ndd);
164 164
165 AddDisplay(FakeDisplaySnapshot::Builder() 165 AddDisplay(FakeDisplaySnapshot::Builder()
(...skipping 14 matching lines...) Expand all
180 delegate_.Reset(); 180 delegate_.Reset();
181 } 181 }
182 182
183 void TearDown() override { 183 void TearDown() override {
184 delegate_.Reset(); 184 delegate_.Reset();
185 screen_manager_.reset(); 185 screen_manager_.reset();
186 } 186 }
187 187
188 FakeDisplayController* fake_display_controller_ = nullptr; 188 FakeDisplayController* fake_display_controller_ = nullptr;
189 TestScreenManagerDelegate delegate_; 189 TestScreenManagerDelegate delegate_;
190 std::unique_ptr<ScreenManagerOzone> screen_manager_; 190 std::unique_ptr<ScreenManagerOzoneInternal> screen_manager_;
191 }; 191 };
192 192
193 TEST_F(ScreenManagerOzoneTest, AddDisplay) { 193 TEST_F(ScreenManagerOzoneInternalTest, AddDisplay) {
194 AddDisplay(FakeDisplaySnapshot::Builder() 194 AddDisplay(FakeDisplaySnapshot::Builder()
195 .SetId(2) 195 .SetId(2)
196 .SetNativeMode(gfx::Size(1600, 900)) 196 .SetNativeMode(gfx::Size(1600, 900))
197 .Build()); 197 .Build());
198 198
199 // Check that display 2 was added with expected bounds and pixel_size. 199 // Check that display 2 was added with expected bounds and pixel_size.
200 EXPECT_EQ("Added(2)", delegate()->changes()); 200 EXPECT_EQ("Added(2)", delegate()->changes());
201 EXPECT_THAT(delegate()->added()[0], DisplayPixelSizeIs("1600x900")); 201 EXPECT_THAT(delegate()->added()[0], DisplayPixelSizeIs("1600x900"));
202 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 1600x900")); 202 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 1600x900"));
203 } 203 }
204 204
205 TEST_F(ScreenManagerOzoneTest, RemoveDisplay) { 205 TEST_F(ScreenManagerOzoneInternalTest, RemoveDisplay) {
206 AddDisplay(2); 206 AddDisplay(2);
207 delegate()->Reset(); 207 delegate()->Reset();
208 208
209 RemoveDisplay(2); 209 RemoveDisplay(2);
210 210
211 // Check that display 2 was removed. 211 // Check that display 2 was removed.
212 EXPECT_EQ("Removed(2)", delegate()->changes()); 212 EXPECT_EQ("Removed(2)", delegate()->changes());
213 } 213 }
214 214
215 TEST_F(ScreenManagerOzoneTest, DISABLED_RemovePrimaryDisplay) { 215 TEST_F(ScreenManagerOzoneInternalTest, DISABLED_RemovePrimaryDisplay) {
216 AddDisplay(2); 216 AddDisplay(2);
217 delegate()->Reset(); 217 delegate()->Reset();
218 218
219 RemoveDisplay(1); 219 RemoveDisplay(1);
220 220
221 // Check that display 1 was removed and display 2 becomes the primary display 221 // Check that display 1 was removed and display 2 becomes the primary display
222 // and has it's origin change. 222 // and has it's origin change.
223 EXPECT_EQ("Removed(1);Modified(2);Primary(2)", delegate()->changes()); 223 EXPECT_EQ("Removed(1);Modified(2);Primary(2)", delegate()->changes());
224 ASSERT_THAT(delegate()->modified(), SizeIs(1)); 224 ASSERT_THAT(delegate()->modified(), SizeIs(1));
225 EXPECT_THAT(delegate()->modified()[0], DisplayIdIs(2)); 225 EXPECT_THAT(delegate()->modified()[0], DisplayIdIs(2));
226 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("0,0 1024x768")); 226 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("0,0 1024x768"));
227 } 227 }
228 228
229 TEST_F(ScreenManagerOzoneTest, AddRemoveMultipleDisplay) { 229 TEST_F(ScreenManagerOzoneInternalTest, AddRemoveMultipleDisplay) {
230 AddDisplay(2); 230 AddDisplay(2);
231 AddDisplay(3); 231 AddDisplay(3);
232 EXPECT_EQ("Added(2);Added(3)", delegate()->changes()); 232 EXPECT_EQ("Added(2);Added(3)", delegate()->changes());
233 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 1024x768")); 233 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 1024x768"));
234 EXPECT_THAT(delegate()->added()[1], DisplayBoundsIs("2048,0 1024x768")); 234 EXPECT_THAT(delegate()->added()[1], DisplayBoundsIs("2048,0 1024x768"));
235 delegate()->Reset(); 235 delegate()->Reset();
236 236
237 // Check that display 2 was removed and display 3 origin changed. 237 // Check that display 2 was removed and display 3 origin changed.
238 RemoveDisplay(2); 238 RemoveDisplay(2);
239 EXPECT_EQ("Removed(2);Modified(3)", delegate()->changes()); 239 EXPECT_EQ("Removed(2);Modified(3)", delegate()->changes());
240 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("1024,0 1024x768")); 240 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("1024,0 1024x768"));
241 delegate()->Reset(); 241 delegate()->Reset();
242 242
243 // Check that display 3 was removed. 243 // Check that display 3 was removed.
244 RemoveDisplay(3); 244 RemoveDisplay(3);
245 EXPECT_EQ("Removed(3)", delegate()->changes()); 245 EXPECT_EQ("Removed(3)", delegate()->changes());
246 } 246 }
247 247
248 TEST_F(ScreenManagerOzoneTest, AddDisplay4k) { 248 TEST_F(ScreenManagerOzoneInternalTest, AddDisplay4k) {
249 AddDisplay(FakeDisplaySnapshot::Builder() 249 AddDisplay(FakeDisplaySnapshot::Builder()
250 .SetId(2) 250 .SetId(2)
251 .SetNativeMode(gfx::Size(4096, 2160)) 251 .SetNativeMode(gfx::Size(4096, 2160))
252 .SetType(DISPLAY_CONNECTION_TYPE_DVI) 252 .SetType(DISPLAY_CONNECTION_TYPE_DVI)
253 .Build()); 253 .Build());
254 254
255 // Check that display 2 has a device scale factor of 2 since it's a 4k 255 // Check that display 2 has a device scale factor of 2 since it's a 4k
256 // display. 256 // display.
257 EXPECT_EQ("Added(2)", delegate()->changes()); 257 EXPECT_EQ("Added(2)", delegate()->changes());
258 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 2048x1080")); 258 EXPECT_THAT(delegate()->added()[0], DisplayBoundsIs("1024,0 2048x1080"));
259 EXPECT_THAT(delegate()->added()[0], DisplayPixelSizeIs("4096x2160")); 259 EXPECT_THAT(delegate()->added()[0], DisplayPixelSizeIs("4096x2160"));
260 } 260 }
261 261
262 TEST_F(ScreenManagerOzoneTest, SwapPrimaryDisplay) { 262 TEST_F(ScreenManagerOzoneInternalTest, SwapPrimaryDisplay) {
263 AddDisplay(2); 263 AddDisplay(2);
264 delegate()->Reset(); 264 delegate()->Reset();
265 265
266 EXPECT_EQ(1, Screen::GetScreen()->GetPrimaryDisplay().id()); 266 EXPECT_EQ(1, Screen::GetScreen()->GetPrimaryDisplay().id());
267 267
268 // Swapping displays will modify the bounds of both displays and change the 268 // Swapping displays will modify the bounds of both displays and change the
269 // primary. 269 // primary.
270 screen_manager()->SwapPrimaryDisplay(); 270 screen_manager()->SwapPrimaryDisplay();
271 EXPECT_EQ("Modified(1);Modified(2);Primary(2)", delegate()->changes()); 271 EXPECT_EQ("Modified(1);Modified(2);Primary(2)", delegate()->changes());
272 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("-1024,0 1024x768")); 272 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("-1024,0 1024x768"));
273 EXPECT_THAT(delegate()->modified()[1], DisplayBoundsIs("0,0 1024x768")); 273 EXPECT_THAT(delegate()->modified()[1], DisplayBoundsIs("0,0 1024x768"));
274 EXPECT_EQ(2, Screen::GetScreen()->GetPrimaryDisplay().id()); 274 EXPECT_EQ(2, Screen::GetScreen()->GetPrimaryDisplay().id());
275 delegate()->Reset(); 275 delegate()->Reset();
276 276
277 // Swapping again should be similar and end up back with display 1 as primary. 277 // Swapping again should be similar and end up back with display 1 as primary.
278 screen_manager()->SwapPrimaryDisplay(); 278 screen_manager()->SwapPrimaryDisplay();
279 EXPECT_EQ("Modified(1);Modified(2);Primary(1)", delegate()->changes()); 279 EXPECT_EQ("Modified(1);Modified(2);Primary(1)", delegate()->changes());
280 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("0,0 1024x768")); 280 EXPECT_THAT(delegate()->modified()[0], DisplayBoundsIs("0,0 1024x768"));
281 EXPECT_THAT(delegate()->modified()[1], DisplayBoundsIs("1024,0 1024x768")); 281 EXPECT_THAT(delegate()->modified()[1], DisplayBoundsIs("1024,0 1024x768"));
282 EXPECT_EQ(1, Screen::GetScreen()->GetPrimaryDisplay().id()); 282 EXPECT_EQ(1, Screen::GetScreen()->GetPrimaryDisplay().id());
283 } 283 }
284 284
285 } // namespace display 285 } // namespace display
OLDNEW
« no previous file with comments | « services/ui/display/screen_manager_ozone_internal.cc ('k') | services/ui/display/screen_manager_ozone_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698