| Index: ui/ozone/platform/dri/screen_manager_unittest.cc
|
| diff --git a/ui/ozone/platform/dri/screen_manager_unittest.cc b/ui/ozone/platform/dri/screen_manager_unittest.cc
|
| index 074b67a6765a8be710231a1881f12ca0e6377622..f98f5c095d50600658093f193b6af3364444ece2 100644
|
| --- a/ui/ozone/platform/dri/screen_manager_unittest.cc
|
| +++ b/ui/ozone/platform/dri/screen_manager_unittest.cc
|
| @@ -40,6 +40,16 @@ class ScreenManagerTest : public testing::Test {
|
| ScreenManagerTest() {}
|
| virtual ~ScreenManagerTest() {}
|
|
|
| + gfx::Rect GetPrimaryBounds() const {
|
| + return gfx::Rect(0, 0, kDefaultMode.hdisplay, kDefaultMode.vdisplay);
|
| + }
|
| +
|
| + // Secondary is in extended mode, right-of primary.
|
| + gfx::Rect GetSecondaryBounds() const {
|
| + return gfx::Rect(
|
| + kDefaultMode.hdisplay, 0, kDefaultMode.hdisplay, kDefaultMode.vdisplay);
|
| + }
|
| +
|
| virtual void SetUp() OVERRIDE {
|
| dri_.reset(new ui::MockDriWrapper(3));
|
| buffer_generator_.reset(new ui::DriBufferGenerator(dri_.get()));
|
| @@ -61,116 +71,155 @@ class ScreenManagerTest : public testing::Test {
|
| };
|
|
|
| TEST_F(ScreenManagerTest, CheckWithNoControllers) {
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(1));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckWithValidController) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| base::WeakPtr<ui::HardwareDisplayController> controller =
|
| - screen_manager_->GetDisplayController(1);
|
| + screen_manager_->GetDisplayController(GetPrimaryBounds());
|
|
|
| EXPECT_TRUE(controller);
|
| EXPECT_TRUE(controller->HasCrtc(kPrimaryCrtc));
|
| }
|
|
|
| -TEST_F(ScreenManagerTest, CheckWithInvalidId) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| +TEST_F(ScreenManagerTest, CheckWithInvalidBounds) {
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
|
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckForSecondValidController) {
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - 3, 4, gfx::Point(6, 0), kDefaultMode);
|
| + 3, 4, GetSecondaryBounds().origin(), kDefaultMode);
|
|
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(2));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckControllerAfterItIsRemoved) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| base::WeakPtr<ui::HardwareDisplayController> controller =
|
| - screen_manager_->GetDisplayController(1);
|
| + screen_manager_->GetDisplayController(GetPrimaryBounds());
|
|
|
| EXPECT_TRUE(controller);
|
| - screen_manager_->RemoveDisplayController(1);
|
| + screen_manager_->RemoveDisplayController(kPrimaryCrtc);
|
| EXPECT_FALSE(controller);
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckDuplicateConfiguration) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| -
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| +
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckChangingMode) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| drmModeModeInfo new_mode = kDefaultMode;
|
| new_mode.vdisplay = 10;
|
| screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), new_mode);
|
| + kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), new_mode);
|
|
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| - drmModeModeInfo mode = screen_manager_->GetDisplayController(1)->get_mode();
|
| + gfx::Rect new_bounds(0, 0, new_mode.hdisplay, new_mode.vdisplay);
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(new_bounds));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| + drmModeModeInfo mode =
|
| + screen_manager_->GetDisplayController(new_bounds)->get_mode();
|
| EXPECT_EQ(new_mode.vdisplay, mode.vdisplay);
|
| EXPECT_EQ(new_mode.hdisplay, mode.hdisplay);
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckForControllersInMirroredMode) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kSecondaryCrtc, kSecondaryConnector, gfx::Point(), kDefaultMode);
|
| -
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kSecondaryCrtc,
|
| + kSecondaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| +
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, CheckMirrorModeTransitions) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kSecondaryCrtc, kSecondaryConnector, gfx::Point(6, 0), kDefaultMode);
|
| -
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(2));
|
| -
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kSecondaryCrtc, kSecondaryConnector, gfx::Point(), kDefaultMode);
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| -
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(6, 0), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kSecondaryCrtc, kSecondaryConnector, gfx::Point(), kDefaultMode);
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(3));
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kSecondaryCrtc,
|
| + kSecondaryConnector,
|
| + GetSecondaryBounds().origin(),
|
| + kDefaultMode);
|
| +
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| +
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kSecondaryCrtc,
|
| + kSecondaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| +
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetSecondaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kSecondaryCrtc,
|
| + kSecondaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|
| TEST_F(ScreenManagerTest, MonitorGoneInMirrorMode) {
|
| - screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode);
|
| - screen_manager_->ConfigureDisplayController(
|
| - kSecondaryCrtc, kSecondaryConnector, gfx::Point(), kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
| + screen_manager_->ConfigureDisplayController(kSecondaryCrtc,
|
| + kSecondaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode);
|
|
|
| screen_manager_->RemoveDisplayController(kSecondaryCrtc);
|
| - EXPECT_TRUE(screen_manager_->ConfigureDisplayController(
|
| - kPrimaryCrtc, kPrimaryConnector, gfx::Point(), kDefaultMode));
|
| - EXPECT_TRUE(screen_manager_->GetDisplayController(1));
|
| - EXPECT_FALSE(screen_manager_->GetDisplayController(2));
|
| + EXPECT_TRUE(
|
| + screen_manager_->ConfigureDisplayController(kPrimaryCrtc,
|
| + kPrimaryConnector,
|
| + GetPrimaryBounds().origin(),
|
| + kDefaultMode));
|
| + EXPECT_TRUE(screen_manager_->GetDisplayController(GetPrimaryBounds()));
|
| + EXPECT_FALSE(screen_manager_->GetDisplayController(GetSecondaryBounds()));
|
| }
|
|
|