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

Unified Diff: ash/wm/window_util_unittest.cc

Issue 106303005: Fix AdjustBoundsToEnsureWindowVisibility to work with non primary display bounds (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: ash/wm/window_util_unittest.cc
diff --git a/ash/wm/window_util_unittest.cc b/ash/wm/window_util_unittest.cc
index 8073a38cc87b326790e81f96b6536790a85183eb..66618dfa603ca164a9789b91ccc36ec8bf6933ba 100644
--- a/ash/wm/window_util_unittest.cc
+++ b/ash/wm/window_util_unittest.cc
@@ -10,6 +10,16 @@
namespace ash {
+namespace {
+
+std::string GetAdjustedBounds(const gfx::Rect& visible,
+ gfx::Rect to_be_adjusted) {
+ wm::AdjustBoundsToEnsureMinimumWindowVisibility(visible, &to_be_adjusted);
+ return to_be_adjusted.ToString();
+}
+
+}
+
typedef test::AshTestBase WindowUtilTest;
TEST_F(WindowUtilTest, CenterWindow) {
@@ -29,4 +39,54 @@ TEST_F(WindowUtilTest, CenterWindow) {
EXPECT_EQ("750,126 100x100", window->GetBoundsInScreen().ToString());
}
+TEST_F(WindowUtilTest, AdjustBoundsToEnsureMinimumVisibility) {
+ const gfx::Rect visible_bounds(0, 0, 100, 100);
+
+ EXPECT_EQ("0,0 90x90",
+ GetAdjustedBounds(visible_bounds, gfx::Rect(0, 0, 90, 90)));
+ EXPECT_EQ("0,0 100x100",
+ GetAdjustedBounds(visible_bounds, gfx::Rect(0, 0, 150, 150)));
+ EXPECT_EQ("-50,0 100x100",
+ GetAdjustedBounds(visible_bounds, gfx::Rect(-50, -50, 150, 150)));
+ EXPECT_EQ("-90,10 100x100",
+ GetAdjustedBounds(visible_bounds, gfx::Rect(-100, 10, 150, 150)));
+ EXPECT_EQ("90,90 100x100",
+ GetAdjustedBounds(visible_bounds, gfx::Rect(100, 100, 150, 150)));
+
+ const gfx::Rect visible_bounds_right(200, 50, 100, 100);
+
+ EXPECT_EQ(
+ "210,60 90x90",
+ GetAdjustedBounds(visible_bounds_right, gfx::Rect(210, 60, 90, 90)));
+ EXPECT_EQ(
+ "210,60 100x100",
+ GetAdjustedBounds(visible_bounds_right, gfx::Rect(210, 60, 150, 150)));
+ EXPECT_EQ(
+ "110,50 100x100",
+ GetAdjustedBounds(visible_bounds_right, gfx::Rect(0, 0, 150, 150)));
+ EXPECT_EQ(
+ "290,50 100x100",
+ GetAdjustedBounds(visible_bounds_right, gfx::Rect(300, 20, 150, 150)));
+ EXPECT_EQ(
+ "110,140 100x100",
+ GetAdjustedBounds(visible_bounds_right, gfx::Rect(-100, 150, 150, 150)));
+
+ const gfx::Rect visible_bounds_left(-200, -50, 100, 100);
+ EXPECT_EQ(
+ "-190,-40 90x90",
+ GetAdjustedBounds(visible_bounds_left, gfx::Rect(-190, -40, 90, 90)));
+ EXPECT_EQ(
+ "-190,-40 100x100",
+ GetAdjustedBounds(visible_bounds_left, gfx::Rect(-190, -40, 150, 150)));
+ EXPECT_EQ(
+ "-250,-40 100x100",
+ GetAdjustedBounds(visible_bounds_left, gfx::Rect(-250, -40, 150, 150)));
+ EXPECT_EQ(
+ "-290,-50 100x100",
+ GetAdjustedBounds(visible_bounds_left, gfx::Rect(-400, -60, 150, 150)));
+ EXPECT_EQ(
+ "-110,0 100x100",
+ GetAdjustedBounds(visible_bounds_left, gfx::Rect(0, 0, 150, 150)));
+}
+
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698