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())); |
} |