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

Unified Diff: ash/wm/window_util_unittest.cc

Issue 23471004: Only support left/right maximizing at 50% width when the --ash-enable-alternate-caption-button (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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..93b778be669aed4a983486250da6ca30d103f4f1 100644
--- a/ash/wm/window_util_unittest.cc
+++ b/ash/wm/window_util_unittest.cc
@@ -4,7 +4,9 @@
#include "ash/wm/window_util.h"
+#include "ash/root_window_controller.h"
#include "ash/screen_ash.h"
+#include "ash/shelf/shelf_layout_manager.h"
#include "ash/test/ash_test_base.h"
#include "ui/aura/window.h"
@@ -12,21 +14,68 @@ namespace ash {
typedef test::AshTestBase WindowUtilTest;
+// Test the behavior of SnapWindowToEdge().
+TEST_F(WindowUtilTest, SnapWindowToEdge) {
+ if (!SupportsMultipleDisplays())
+ return;
+
+ UpdateDisplay("0+0-500x400, 0+500-600x400");
+ scoped_ptr<aura::Window> window(
+ CreateTestWindowInShellWithBounds(gfx::Rect(12, 20, 100, 100)));
+
+ internal::RootWindowController* root_window_controller =
+ internal::RootWindowController::ForWindow(window.get());
+ internal::ShelfLayoutManager* shelf_layout_manager =
+ root_window_controller->GetShelfLayoutManager();
+ EXPECT_EQ(SHELF_ALIGNMENT_BOTTOM, shelf_layout_manager->GetAlignment());
+ shelf_layout_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
+ EXPECT_EQ(SHELF_VISIBLE, shelf_layout_manager->visibility_state());
+ const int kSnappedHeight = 400 -
+ internal::ShelfLayoutManager::GetPreferredShelfSize();
+
+ wm::SnapWindowToEdge(window.get(), wm::SNAP_LEFT_EDGE);
+ EXPECT_EQ(gfx::Rect(0,0,250,kSnappedHeight).ToString(),
Mr4D (OOO till 08-26) 2013/08/29 01:03:15 0, 0, 250, kSna.. (Spaces are missing)
+ window->GetBoundsInScreen().ToString());
+ wm::SnapWindowToEdge(window.get(), wm::SNAP_RIGHT_EDGE);
+ EXPECT_EQ(gfx::Rect(250,0,250,kSnappedHeight).ToString(),
Mr4D (OOO till 08-26) 2013/08/29 01:03:15 Same here and more below.
+ window->GetBoundsInScreen().ToString());
+ window->SetBoundsInScreen(gfx::Rect(600, 0, 100, 100),
+ ScreenAsh::GetSecondaryDisplay());
+ wm::SnapWindowToEdge(window.get(), wm::SNAP_LEFT_EDGE);
+ EXPECT_EQ(gfx::Rect(500,0,300,kSnappedHeight).ToString(),
+ window->GetBoundsInScreen().ToString());
+ wm::SnapWindowToEdge(window.get(), wm::SNAP_RIGHT_EDGE);
+ EXPECT_EQ(gfx::Rect(800,0,300,kSnappedHeight).ToString(),
+ window->GetBoundsInScreen().ToString());
+}
+
+// Test the behavior of CenterWindow().
TEST_F(WindowUtilTest, CenterWindow) {
if (!SupportsMultipleDisplays())
return;
- UpdateDisplay("500x400, 600x400");
+ UpdateDisplay("0+0-500x400, 0+500-600x400");
scoped_ptr<aura::Window> window(
CreateTestWindowInShellWithBounds(gfx::Rect(12, 20, 100, 100)));
+
+ internal::RootWindowController* root_window_controller =
+ internal::RootWindowController::ForWindow(window.get());
+ internal::ShelfLayoutManager* shelf_layout_manager =
+ root_window_controller->GetShelfLayoutManager();
+ EXPECT_EQ(SHELF_ALIGNMENT_BOTTOM, shelf_layout_manager->GetAlignment());
+ shelf_layout_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
+ EXPECT_EQ(SHELF_VISIBLE, shelf_layout_manager->visibility_state());
+ const int kCenteredY =
+ (400 - internal::ShelfLayoutManager::GetPreferredShelfSize() - 100) / 2;
+
wm::CenterWindow(window.get());
- EXPECT_EQ("200,126 100x100", window->bounds().ToString());
- EXPECT_EQ("200,126 100x100", window->GetBoundsInScreen().ToString());
+ EXPECT_EQ(gfx::Rect(200,kCenteredY,100,100).ToString(),
+ window->GetBoundsInScreen().ToString());
window->SetBoundsInScreen(gfx::Rect(600, 0, 100, 100),
ScreenAsh::GetSecondaryDisplay());
wm::CenterWindow(window.get());
- EXPECT_EQ("250,126 100x100", window->bounds().ToString());
- EXPECT_EQ("750,126 100x100", window->GetBoundsInScreen().ToString());
+ EXPECT_EQ(gfx::Rect(750,kCenteredY,100,100).ToString(),
Mr4D (OOO till 08-26) 2013/08/29 01:03:15 And more spaces are missing.
+ window->GetBoundsInScreen().ToString());
}
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698