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

Side by Side Diff: chromeos/display/output_configurator_unittest.cc

Issue 15067012: Move chromeos specific utility functions for display to chromeos/display (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added test Created 7 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « chromeos/display/output_configurator.cc ('k') | chromeos/display/output_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "chromeos/display/output_configurator.h" 5 #include "chromeos/display/output_configurator.h"
6 6
7 #include <cstdarg> 7 #include <cstdarg>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 }; 201 };
202 202
203 class TestStateController : public OutputConfigurator::StateController { 203 class TestStateController : public OutputConfigurator::StateController {
204 public: 204 public:
205 TestStateController() : state_(STATE_DUAL_EXTENDED) {} 205 TestStateController() : state_(STATE_DUAL_EXTENDED) {}
206 virtual ~TestStateController() {} 206 virtual ~TestStateController() {}
207 207
208 void set_state(OutputState state) { state_ = state; } 208 void set_state(OutputState state) { state_ = state; }
209 209
210 // OutputConfigurator::StateController overrides: 210 // OutputConfigurator::StateController overrides:
211 virtual OutputState GetStateForOutputs( 211 virtual OutputState GetStateForDisplayIds(
212 const OutputSnapshotList& outputs) const OVERRIDE { return state_; } 212 const std::vector<int64>& outputs) const OVERRIDE { return state_; }
213 213
214 private: 214 private:
215 OutputState state_; 215 OutputState state_;
216 216
217 DISALLOW_COPY_AND_ASSIGN(TestStateController); 217 DISALLOW_COPY_AND_ASSIGN(TestStateController);
218 }; 218 };
219 219
220 class OutputConfiguratorTest : public testing::Test { 220 class OutputConfiguratorTest : public testing::Test {
221 public: 221 public:
222 OutputConfiguratorTest() 222 OutputConfiguratorTest()
(...skipping 10 matching lines...) Expand all
233 o->output = 1; 233 o->output = 1;
234 o->crtc = 10; 234 o->crtc = 10;
235 o->current_mode = kSmallModeId; 235 o->current_mode = kSmallModeId;
236 o->native_mode = kSmallModeId; 236 o->native_mode = kSmallModeId;
237 o->mirror_mode = kSmallModeId; 237 o->mirror_mode = kSmallModeId;
238 o->y = 0; 238 o->y = 0;
239 o->height = kSmallModeHeight; 239 o->height = kSmallModeHeight;
240 o->is_internal = true; 240 o->is_internal = true;
241 o->is_aspect_preserving_scaling = true; 241 o->is_aspect_preserving_scaling = true;
242 o->touch_device_id = 0; 242 o->touch_device_id = 0;
243 o->has_display_id = true;
243 244
244 o = &outputs_[1]; 245 o = &outputs_[1];
245 o->output = 2; 246 o->output = 2;
246 o->crtc = 11; 247 o->crtc = 11;
247 o->current_mode = kBigModeId; 248 o->current_mode = kBigModeId;
248 o->native_mode = kBigModeId; 249 o->native_mode = kBigModeId;
249 o->mirror_mode = kSmallModeId; 250 o->mirror_mode = kSmallModeId;
250 o->y = 0; 251 o->y = 0;
251 o->height = kBigModeHeight; 252 o->height = kBigModeHeight;
252 o->is_internal = false; 253 o->is_internal = false;
253 o->is_aspect_preserving_scaling = true; 254 o->is_aspect_preserving_scaling = true;
254 o->touch_device_id = 0; 255 o->touch_device_id = 0;
256 o->has_display_id = true;
255 257
256 UpdateOutputs(2); 258 UpdateOutputs(2);
257 delegate_->AddMode(kSmallModeId, kSmallModeWidth, kSmallModeHeight, false); 259 delegate_->AddMode(kSmallModeId, kSmallModeWidth, kSmallModeHeight, false);
258 delegate_->AddMode(kBigModeId, kBigModeWidth, kBigModeHeight, false); 260 delegate_->AddMode(kBigModeId, kBigModeWidth, kBigModeHeight, false);
259 } 261 }
260 262
261 protected: 263 protected:
262 // Predefined modes that can be used by outputs. 264 // Predefined modes that can be used by outputs.
263 static const int kSmallModeId = 20; 265 static const int kSmallModeId = 20;
264 static const int kSmallModeWidth = 1366; 266 static const int kSmallModeWidth = 1366;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 OutputConfigurator::TestApi test_api_; 304 OutputConfigurator::TestApi test_api_;
303 305
304 OutputConfigurator::OutputSnapshot outputs_[2]; 306 OutputConfigurator::OutputSnapshot outputs_[2];
305 307
306 private: 308 private:
307 DISALLOW_COPY_AND_ASSIGN(OutputConfiguratorTest); 309 DISALLOW_COPY_AND_ASSIGN(OutputConfiguratorTest);
308 }; 310 };
309 311
310 } // namespace 312 } // namespace
311 313
312 TEST_F(OutputConfiguratorTest, IsInternalOutputName) {
313 EXPECT_TRUE(OutputConfigurator::IsInternalOutputName("LVDS"));
314 EXPECT_TRUE(OutputConfigurator::IsInternalOutputName("eDP"));
315 EXPECT_TRUE(OutputConfigurator::IsInternalOutputName("LVDSxx"));
316 EXPECT_TRUE(OutputConfigurator::IsInternalOutputName("eDPzz"));
317
318 EXPECT_FALSE(OutputConfigurator::IsInternalOutputName("xyz"));
319 EXPECT_FALSE(OutputConfigurator::IsInternalOutputName("abcLVDS"));
320 EXPECT_FALSE(OutputConfigurator::IsInternalOutputName("cdeeDP"));
321 EXPECT_FALSE(OutputConfigurator::IsInternalOutputName("LVD"));
322 EXPECT_FALSE(OutputConfigurator::IsInternalOutputName("eD"));
323 }
324
325 TEST_F(OutputConfiguratorTest, ConnectSecondOutput) { 314 TEST_F(OutputConfiguratorTest, ConnectSecondOutput) {
326 InitWithSingleOutput(); 315 InitWithSingleOutput();
327 316
328 // Connect a second output and check that the configurator enters 317 // Connect a second output and check that the configurator enters
329 // extended mode. 318 // extended mode.
330 UpdateOutputs(2); 319 UpdateOutputs(2);
331 const int kDualHeight = 320 const int kDualHeight =
332 kSmallModeHeight + OutputConfigurator::kVerticalGap + kBigModeHeight; 321 kSmallModeHeight + OutputConfigurator::kVerticalGap + kBigModeHeight;
333 state_controller_.set_state(STATE_DUAL_EXTENDED); 322 state_controller_.set_state(STATE_DUAL_EXTENDED);
334 EXPECT_TRUE(test_api_.SendOutputChangeEvents(true)); 323 EXPECT_TRUE(test_api_.SendOutputChangeEvents(true));
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 576
588 UpdateOutputs(2); 577 UpdateOutputs(2);
589 state_controller_.set_state(STATE_DUAL_EXTENDED); 578 state_controller_.set_state(STATE_DUAL_EXTENDED);
590 EXPECT_TRUE(test_api_.SendOutputChangeEvents(true)); 579 EXPECT_TRUE(test_api_.SendOutputChangeEvents(true));
591 EXPECT_FALSE(configurator_.SetDisplayMode(STATE_HEADLESS)); 580 EXPECT_FALSE(configurator_.SetDisplayMode(STATE_HEADLESS));
592 EXPECT_FALSE(configurator_.SetDisplayMode(STATE_SINGLE)); 581 EXPECT_FALSE(configurator_.SetDisplayMode(STATE_SINGLE));
593 EXPECT_TRUE(configurator_.SetDisplayMode(STATE_DUAL_MIRROR)); 582 EXPECT_TRUE(configurator_.SetDisplayMode(STATE_DUAL_MIRROR));
594 EXPECT_TRUE(configurator_.SetDisplayMode(STATE_DUAL_EXTENDED)); 583 EXPECT_TRUE(configurator_.SetDisplayMode(STATE_DUAL_EXTENDED));
595 } 584 }
596 585
586 TEST_F(OutputConfiguratorTest, GetOutputStateForDisplays) {
587 outputs_[0].has_display_id = false;
588 UpdateOutputs(2);
589
590 configurator_.Init(false, 0);
591 configurator_.Start();
592
593 state_controller_.set_state(STATE_DUAL_MIRROR);
594 test_api_.SendOutputChangeEvents(true);
595 EXPECT_EQ(STATE_DUAL_EXTENDED, configurator_.output_state());
596
597 outputs_[0].has_display_id = true;
598 UpdateOutputs(2);
599 test_api_.SendOutputChangeEvents(true);
600 EXPECT_EQ(STATE_DUAL_MIRROR, configurator_.output_state());
601 }
602
597 } // namespace chromeos 603 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/display/output_configurator.cc ('k') | chromeos/display/output_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698