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

Unified Diff: ash/wm/shelf_layout_manager_unittest.cc

Issue 10388036: Adds the option of aligning the launcher to the left or right. There (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile Created 8 years, 7 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
« no previous file with comments | « ash/wm/shelf_layout_manager.cc ('k') | ash/wm/workspace/workspace_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/shelf_layout_manager_unittest.cc
diff --git a/ash/wm/shelf_layout_manager_unittest.cc b/ash/wm/shelf_layout_manager_unittest.cc
index 3f64f9459a734ab81581a5b4152b6ca6c5d062ce..2b443e959eb2c09716398d8217f4e945ad106204 100644
--- a/ash/wm/shelf_layout_manager_unittest.cc
+++ b/ash/wm/shelf_layout_manager_unittest.cc
@@ -84,13 +84,18 @@ TEST_F(ShelfLayoutManagerTest, MAYBE_SetVisible) {
// Force an initial layout.
shelf->LayoutShelf();
EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
+
+ gfx::Rect status_bounds(shelf->status()->GetWindowScreenBounds());
+ gfx::Rect launcher_bounds(shelf->launcher_widget()->GetWindowScreenBounds());
+ int shelf_height = shelf->GetIdealBounds().height();
+
const aura::MonitorManager* manager =
aura::Env::GetInstance()->monitor_manager();
const gfx::Monitor& monitor =
manager->GetMonitorNearestWindow(Shell::GetRootWindow());
ASSERT_NE(-1, monitor.id());
// Bottom inset should be the max of widget heights.
- EXPECT_EQ(shelf->shelf_height(),
+ EXPECT_EQ(shelf_height,
monitor.bounds().bottom() - monitor.work_area().bottom());
// Hide the shelf.
@@ -114,19 +119,19 @@ TEST_F(ShelfLayoutManagerTest, MAYBE_SetVisible) {
StepWidgetLayerAnimatorToEnd(shelf->launcher_widget());
StepWidgetLayerAnimatorToEnd(shelf->status());
EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
- EXPECT_EQ(shelf->shelf_height(),
+ EXPECT_EQ(shelf_height,
monitor.bounds().bottom() - monitor.work_area().bottom());
// Make sure the bounds of the two widgets changed.
- gfx::Rect launcher_bounds(
- shelf->launcher_widget()->GetNativeView()->bounds());
+ launcher_bounds = shelf->launcher_widget()->GetNativeView()->bounds();
int bottom = gfx::Screen::GetPrimaryMonitor().bounds().bottom() -
- shelf->shelf_height();
+ shelf_height;
EXPECT_EQ(launcher_bounds.y(),
- bottom + (shelf->shelf_height() - launcher_bounds.height()) / 2);
- gfx::Rect status_bounds(shelf->status()->GetNativeView()->bounds());
+ bottom + (shelf->GetIdealBounds().height() -
+ launcher_bounds.height()) / 2);
+ status_bounds = shelf->status()->GetNativeView()->bounds();
EXPECT_EQ(status_bounds.y(),
- bottom + shelf->shelf_height() - status_bounds.height());
+ bottom + shelf_height - status_bounds.height());
}
// Makes sure LayoutShelf invoked while animating cleans things up.
@@ -165,7 +170,7 @@ TEST_F(ShelfLayoutManagerTest, LauncherInitiallySized) {
shelf_layout_manager->status()->GetWindowScreenBounds().width();
// Test only makes sense if the status is > 0, which is better be.
EXPECT_GT(status_width, 0);
- EXPECT_EQ(status_width, launcher->GetStatusWidth());
+ EXPECT_EQ(status_width, launcher->status_size().width());
}
// Makes sure the launcher is sized when the status area changes size.
@@ -176,7 +181,7 @@ TEST_F(ShelfLayoutManagerTest, LauncherUpdatedWhenStatusAreaChangesSize) {
ASSERT_TRUE(shelf_layout_manager);
ASSERT_TRUE(shelf_layout_manager->status());
shelf_layout_manager->status()->SetBounds(gfx::Rect(0, 0, 200, 200));
- EXPECT_EQ(200, launcher->GetStatusWidth());
+ EXPECT_EQ(200, launcher->status_size().width());
}
// Verifies when the shell is deleted with a full screen window we don't
@@ -210,9 +215,9 @@ TEST_F(ShelfLayoutManagerTest, AutoHide) {
// LayoutShelf() forces the animation to completion, at which point the
// launcher should go off the screen.
shelf->LayoutShelf();
- EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->launcher_widget()->GetWindowScreenBounds().y());
- EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
gfx::Screen::GetMonitorNearestWindow(root).work_area().bottom());
// Move the mouse to the bottom of the screen.
@@ -222,9 +227,9 @@ TEST_F(ShelfLayoutManagerTest, AutoHide) {
SetState(shelf, ShelfLayoutManager::AUTO_HIDE);
EXPECT_EQ(ShelfLayoutManager::AUTO_HIDE_SHOWN, shelf->auto_hide_state());
shelf->LayoutShelf();
- EXPECT_EQ(root->bounds().bottom() - shelf->shelf_height(),
+ EXPECT_EQ(root->bounds().bottom() - shelf->GetIdealBounds().height(),
shelf->launcher_widget()->GetWindowScreenBounds().y());
- EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
gfx::Screen::GetMonitorNearestWindow(root).work_area().bottom());
// Move mouse back up.
@@ -232,7 +237,7 @@ TEST_F(ShelfLayoutManagerTest, AutoHide) {
SetState(shelf, ShelfLayoutManager::AUTO_HIDE);
EXPECT_EQ(ShelfLayoutManager::AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
shelf->LayoutShelf();
- EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->launcher_widget()->GetWindowScreenBounds().y());
// Drag mouse to bottom of screen.
@@ -274,7 +279,7 @@ TEST_F(ShelfLayoutManagerTest, VisibleWhenLockScreenShowing) {
// LayoutShelf() forces the animation to completion, at which point the
// launcher should go off the screen.
shelf->LayoutShelf();
- EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->launcher_widget()->GetWindowScreenBounds().y());
aura::Window* lock_container = Shell::GetInstance()->GetContainer(
@@ -319,23 +324,23 @@ TEST_F(ShelfLayoutManagerTest, SetAutoHideBehavior) {
aura::Window* window = widget->GetNativeWindow();
gfx::Rect monitor_bounds(
gfx::Screen::GetMonitorNearestWindow(window).bounds());
- EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->GetMaximizedWindowBounds(window).bottom());
EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
EXPECT_EQ(ShelfLayoutManager::AUTO_HIDE, shelf->visibility_state());
- EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->GetMaximizedWindowBounds(window).bottom());
shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT);
EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
- EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_EQ(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->GetMaximizedWindowBounds(window).bottom());
shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
- EXPECT_GT(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideHeight,
+ EXPECT_GT(monitor_bounds.bottom() - ShelfLayoutManager::kAutoHideSize,
shelf->GetMaximizedWindowBounds(window).bottom());
widget->Maximize();
@@ -479,5 +484,54 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) {
EXPECT_EQ(ShelfLayoutManager::HIDDEN, shelf->visibility_state());
}
+// Tests SHELF_ALIGNMENT_LEFT and SHELF_ALIGNMENT_RIGHT.
+TEST_F(ShelfLayoutManagerTest, SetAlignment) {
+ ShelfLayoutManager* shelf = GetShelfLayoutManager();
+ // Force an initial layout.
+ shelf->LayoutShelf();
+ EXPECT_EQ(ShelfLayoutManager::VISIBLE, shelf->visibility_state());
+
+ shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
+
+ gfx::Rect launcher_bounds(shelf->launcher_widget()->GetWindowScreenBounds());
+ const aura::MonitorManager* manager =
+ aura::Env::GetInstance()->monitor_manager();
+ gfx::Monitor monitor =
+ manager->GetMonitorNearestWindow(Shell::GetRootWindow());
+ ASSERT_NE(-1, monitor.id());
+ EXPECT_EQ(shelf->GetIdealBounds().width(),
+ monitor.GetWorkAreaInsets().left());
+ EXPECT_GE(
+ launcher_bounds.width(),
+ shelf->launcher_widget()->GetContentsView()->GetPreferredSize().width());
+ EXPECT_EQ(shelf->GetIdealBounds().width(),
+ monitor.GetWorkAreaInsets().left());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().top());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().bottom());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().right());
+ EXPECT_EQ(monitor.bounds().x(), launcher_bounds.x());
+ EXPECT_EQ(monitor.bounds().y(), launcher_bounds.y());
+ EXPECT_EQ(monitor.bounds().height(), launcher_bounds.height());
+
+
+ shelf->SetAlignment(SHELF_ALIGNMENT_RIGHT);
+ launcher_bounds = shelf->launcher_widget()->GetWindowScreenBounds();
+ monitor = manager->GetMonitorNearestWindow(Shell::GetRootWindow());
+ ASSERT_NE(-1, monitor.id());
+ EXPECT_EQ(shelf->GetIdealBounds().width(),
+ monitor.GetWorkAreaInsets().right());
+ EXPECT_GE(
+ launcher_bounds.width(),
+ shelf->launcher_widget()->GetContentsView()->GetPreferredSize().width());
+ EXPECT_EQ(shelf->GetIdealBounds().width(),
+ monitor.GetWorkAreaInsets().right());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().top());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().bottom());
+ EXPECT_EQ(0, monitor.GetWorkAreaInsets().left());
+ EXPECT_EQ(monitor.work_area().right(), launcher_bounds.x());
+ EXPECT_EQ(monitor.bounds().y(), launcher_bounds.y());
+ EXPECT_EQ(monitor.bounds().height(), launcher_bounds.height());
+}
+
} // namespace internal
} // namespace ash
« no previous file with comments | « ash/wm/shelf_layout_manager.cc ('k') | ash/wm/workspace/workspace_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698