summaryrefslogtreecommitdiffstats
path: root/ash/display
diff options
context:
space:
mode:
authormazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-20 00:53:43 +0000
committermazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-20 00:53:43 +0000
commitae3dfe9c43613d5257c818316e8a0cca35118afa (patch)
tree43d3e1a2966c254bc8881e4ada180151e8cc3137 /ash/display
parent315c43e2a44b0242acc8c8c976c3a6f774b21546 (diff)
downloadchromium_src-ae3dfe9c43613d5257c818316e8a0cca35118afa.zip
chromium_src-ae3dfe9c43613d5257c818316e8a0cca35118afa.tar.gz
chromium_src-ae3dfe9c43613d5257c818316e8a0cca35118afa.tar.bz2
Enable UpdateDisplay to specify host origins.
This is needed for testing coordinate conversions by way of native screen coordinates. BUG=148686 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=157597 Review URL: https://chromiumcodereview.appspot.com/10914308 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157676 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/display')
-rw-r--r--ash/display/display_controller_unittest.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/ash/display/display_controller_unittest.cc b/ash/display/display_controller_unittest.cc
index a6a8a47..6934cdd 100644
--- a/ash/display/display_controller_unittest.cc
+++ b/ash/display/display_controller_unittest.cc
@@ -73,9 +73,11 @@ typedef test::AshTestBase DisplayControllerTest;
// Fix this and enable tests.
#define MAYBE_SecondaryDisplayLayout DISABLED_SecondaryDisplayLayout
#define MAYBE_BoundsUpdated DISABLED_BoundsUpdated
+#define MAYBE_UpdateDisplayWithHostOrigin DISABLED_UpdateDisplayWithHostOrigin
#else
#define MAYBE_SecondaryDisplayLayout SecondaryDisplayLayout
#define MAYBE_BoundsUpdated BoundsUpdated
+#define MAYBE_UpdateDisplayWithHostOrigin UpdateDisplayWithHostOrigin
#endif
TEST_F(DisplayControllerTest, MAYBE_SecondaryDisplayLayout) {
@@ -240,5 +242,39 @@ TEST_F(DisplayControllerTest, SwapPrimary) {
EXPECT_TRUE(primary_root->Contains(launcher_window));
}
+TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) {
+ UpdateDisplay("100x200,300x400");
+ ASSERT_EQ(2, gfx::Screen::GetNumDisplays());
+ Shell::RootWindowList root_windows =
+ Shell::GetInstance()->GetAllRootWindows();
+ ASSERT_EQ(2U, root_windows.size());
+ EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
+ EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
+ // UpdateDisplay set the origin if it's not set.
+ EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString());
+ EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
+
+ UpdateDisplay("100x200,200+300-300x400");
+ ASSERT_EQ(2, gfx::Screen::GetNumDisplays());
+ EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
+ EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
+ EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString());
+ EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
+
+ UpdateDisplay("400+500-200x300,300x400");
+ ASSERT_EQ(2, gfx::Screen::GetNumDisplays());
+ EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString());
+ EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString());
+ EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString());
+ EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
+
+ UpdateDisplay("100+200-100x200,300+500-200x300");
+ ASSERT_EQ(2, gfx::Screen::GetNumDisplays());
+ EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString());
+ EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
+ EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString());
+ EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString());
+}
+
} // namespace test
} // namespace ash