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

Side by Side Diff: chrome/browser/ui/app_list/app_list_positioner_unittest.cc

Issue 93863002: Mac App Launcher is positioned on center of dock in certain cases. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added a comment about when it is appropriate to animate the launcher. Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/app_list/app_list_positioner.h" 5 #include "chrome/browser/ui/app_list/app_list_positioner.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace { 10 namespace {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 gfx::Point DoGetAnchorPointForScreenCorner( 86 gfx::Point DoGetAnchorPointForScreenCorner(
87 AppListPositioner::ScreenCorner corner) const { 87 AppListPositioner::ScreenCorner corner) const {
88 return positioner_->GetAnchorPointForScreenCorner(corner); 88 return positioner_->GetAnchorPointForScreenCorner(corner);
89 } 89 }
90 90
91 gfx::Point DoGetAnchorPointForShelfCorner( 91 gfx::Point DoGetAnchorPointForShelfCorner(
92 AppListPositioner::ScreenEdge shelf_edge) const { 92 AppListPositioner::ScreenEdge shelf_edge) const {
93 return positioner_->GetAnchorPointForShelfCorner(shelf_edge); 93 return positioner_->GetAnchorPointForShelfCorner(shelf_edge);
94 } 94 }
95 95
96 gfx::Point DoGetAnchorPointForShelfCenter(
97 AppListPositioner::ScreenEdge shelf_edge) const {
98 return positioner_->GetAnchorPointForShelfCenter(shelf_edge);
99 }
100
96 gfx::Point DoGetAnchorPointForShelfCursor( 101 gfx::Point DoGetAnchorPointForShelfCursor(
97 AppListPositioner::ScreenEdge shelf_edge) const { 102 AppListPositioner::ScreenEdge shelf_edge) const {
98 return positioner_->GetAnchorPointForShelfCursor(shelf_edge, cursor_); 103 return positioner_->GetAnchorPointForShelfCursor(shelf_edge, cursor_);
99 } 104 }
100 105
101 AppListPositioner::ScreenEdge DoGetShelfEdge( 106 AppListPositioner::ScreenEdge DoGetShelfEdge(
102 const gfx::Rect& shelf_rect) const { 107 const gfx::Rect& shelf_rect) const {
103 return positioner_->GetShelfEdge(shelf_rect); 108 return positioner_->GetShelfEdge(shelf_rect);
104 } 109 }
105 110
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 174
170 // Shelf on bottom. Expect app list in bottom-left corner. 175 // Shelf on bottom. Expect app list in bottom-left corner.
171 PlaceShelf(AppListPositioner::SCREEN_EDGE_BOTTOM); 176 PlaceShelf(AppListPositioner::SCREEN_EDGE_BOTTOM);
172 EXPECT_EQ( 177 EXPECT_EQ(
173 gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge, 178 gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge,
174 kScreenHeight - kShelfSize - kWindowHeight / 2 - 179 kScreenHeight - kShelfSize - kWindowHeight / 2 -
175 kMinDistanceFromEdge), 180 kMinDistanceFromEdge),
176 DoGetAnchorPointForShelfCorner(AppListPositioner::SCREEN_EDGE_BOTTOM)); 181 DoGetAnchorPointForShelfCorner(AppListPositioner::SCREEN_EDGE_BOTTOM));
177 } 182 }
178 183
184 TEST_F(AppListPositionerUnitTest, ShelfCenter) {
185 // Position the app list on the shelf, aligned with the shelf center.
186 PlaceShelf(AppListPositioner::SCREEN_EDGE_LEFT);
187 // Shelf on left. Expect app list to be center-left.
188 EXPECT_EQ(
189 gfx::Point(kShelfSize + kWindowWidth / 2 + kMinDistanceFromEdge,
190 (kMenuBarSize + kScreenHeight) / 2),
191 DoGetAnchorPointForShelfCenter(AppListPositioner::SCREEN_EDGE_LEFT));
192
193 // Shelf on right. Expect app list to be center-right.
194 PlaceShelf(AppListPositioner::SCREEN_EDGE_RIGHT);
195 EXPECT_EQ(
196 gfx::Point(
197 kScreenWidth - kShelfSize - kWindowWidth / 2 - kMinDistanceFromEdge,
198 (kMenuBarSize + kScreenHeight) / 2),
199 DoGetAnchorPointForShelfCenter(AppListPositioner::SCREEN_EDGE_RIGHT));
200
201 // Shelf on top. Expect app list to be top-center.
202 PlaceShelf(AppListPositioner::SCREEN_EDGE_TOP);
203 EXPECT_EQ(gfx::Point(kScreenWidth / 2,
204 kMenuBarSize + kShelfSize + kWindowHeight / 2 +
205 kMinDistanceFromEdge),
206 DoGetAnchorPointForShelfCenter(AppListPositioner::SCREEN_EDGE_TOP));
207
208 // Shelf on bottom. Expect app list to be bottom-center.
209 PlaceShelf(AppListPositioner::SCREEN_EDGE_BOTTOM);
210 EXPECT_EQ(
211 gfx::Point(kScreenWidth / 2,
212 kScreenHeight - kShelfSize - kWindowHeight / 2 -
213 kMinDistanceFromEdge),
214 DoGetAnchorPointForShelfCenter(AppListPositioner::SCREEN_EDGE_BOTTOM));
215 }
216
179 TEST_F(AppListPositionerUnitTest, ShelfCursor) { 217 TEST_F(AppListPositionerUnitTest, ShelfCursor) {
180 // Position the app list on the shelf, aligned with the mouse cursor. 218 // Position the app list on the shelf, aligned with the mouse cursor.
181 219
182 // Shelf on left. Expect app list in top-left corner. 220 // Shelf on left. Expect app list in top-left corner.
183 PlaceShelf(AppListPositioner::SCREEN_EDGE_LEFT); 221 PlaceShelf(AppListPositioner::SCREEN_EDGE_LEFT);
184 PlaceCursor(kCursorIgnore, kWindowAwayFromEdge); 222 PlaceCursor(kCursorIgnore, kWindowAwayFromEdge);
185 EXPECT_EQ( 223 EXPECT_EQ(
186 gfx::Point(kShelfSize + kWindowWidth / 2 + kMinDistanceFromEdge, 224 gfx::Point(kShelfSize + kWindowWidth / 2 + kMinDistanceFromEdge,
187 kWindowAwayFromEdge), 225 kWindowAwayFromEdge),
188 DoGetAnchorPointForShelfCursor(AppListPositioner::SCREEN_EDGE_LEFT)); 226 DoGetAnchorPointForShelfCursor(AppListPositioner::SCREEN_EDGE_LEFT));
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 EXPECT_EQ( 329 EXPECT_EQ(
292 kWindowAwayFromEdge - kShelfSize, 330 kWindowAwayFromEdge - kShelfSize,
293 DoGetCursorDistanceFromShelf(AppListPositioner::SCREEN_EDGE_BOTTOM)); 331 DoGetCursorDistanceFromShelf(AppListPositioner::SCREEN_EDGE_BOTTOM));
294 332
295 // Shelf on bottom. Cursor inside shelf; expect 0. 333 // Shelf on bottom. Cursor inside shelf; expect 0.
296 PlaceShelf(AppListPositioner::SCREEN_EDGE_BOTTOM); 334 PlaceShelf(AppListPositioner::SCREEN_EDGE_BOTTOM);
297 PlaceCursor(kCursorIgnore, kScreenHeight - kCursorOnShelf); 335 PlaceCursor(kCursorIgnore, kScreenHeight - kCursorOnShelf);
298 EXPECT_EQ( 336 EXPECT_EQ(
299 0, DoGetCursorDistanceFromShelf(AppListPositioner::SCREEN_EDGE_BOTTOM)); 337 0, DoGetCursorDistanceFromShelf(AppListPositioner::SCREEN_EDGE_BOTTOM));
300 } 338 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/app_list/app_list_positioner.cc ('k') | chrome/browser/ui/app_list/app_list_service_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698