| Index: chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| diff --git a/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc b/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| deleted file mode 100644
|
| index 2fd19322d08b4568e2890c1ee9146e6f04cb48ea..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| +++ /dev/null
|
| @@ -1,261 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/views/app_list/win/app_list_win.h"
|
| -
|
| -#include "chrome/browser/ui/app_list/app_list_positioner.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/display/display.h"
|
| -#include "ui/gfx/geometry/point.h"
|
| -#include "ui/gfx/geometry/rect.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -
|
| -namespace {
|
| -
|
| -const int kScreenWidth = 800;
|
| -const int kScreenHeight = 600;
|
| -
|
| -const int kWindowWidth = 100;
|
| -const int kWindowHeight = 200;
|
| -
|
| -// Size of the normal (non-hidden) taskbar.
|
| -const int kTaskbarSize = 30;
|
| -
|
| -// The distance the taskbar will appear from the edge of the screen.
|
| -const int kMinDistanceFromEdge = 3;
|
| -
|
| -// Max distance the mouse can be from taskbar to count as "near" the taskbar.
|
| -const int kSnapDistance = 50;
|
| -// A cursor position that is within the taskbar. This must be < kTaskbarSize.
|
| -const int kCursorOnTaskbar = kTaskbarSize / 2;
|
| -// A cursor position that is within 50 pixels of the taskbar.
|
| -const int kCursorNearTaskbar = kTaskbarSize + kSnapDistance;
|
| -// A cursor position that is more than 50 pixels away from the taskbar.
|
| -const int kCursorAwayFromTaskbar = kCursorNearTaskbar + 1;
|
| -
|
| -// A position for the center of the window that causes the window to overlap the
|
| -// edge of the screen. This must be < kWindowWidth / 2 and < kWindowHeight / 2.
|
| -const int kWindowNearEdge = kWindowWidth / 4;
|
| -// A position for the center of the window that places the window away from all
|
| -// edges of the screen. This must be > kWindowWidth / 2, > kWindowHeight / 2, <
|
| -// kScreenWidth - kWindowWidth / 2 and < kScreenHeight - kWindowHeight / 2.
|
| -const int kWindowAwayFromEdge = 158;
|
| -
|
| -// Horizontal offset of the simulated Windows 8 split point.
|
| -const int kWin8SplitPoint = 200;
|
| -
|
| -} // namespace
|
| -
|
| -class AppListWinUnitTest : public testing::Test {
|
| - public:
|
| - void SetUp() override {
|
| - display_.set_bounds(gfx::Rect(0, 0, kScreenWidth, kScreenHeight));
|
| - display_.set_work_area(gfx::Rect(0, 0, kScreenWidth, kScreenHeight));
|
| - cursor_ = gfx::Point();
|
| - taskbar_rect_ = gfx::Rect();
|
| - center_window_ = false;
|
| - }
|
| -
|
| - // Set the display work area.
|
| - void SetWorkArea(int x, int y, int width, int height) {
|
| - display_.set_work_area(gfx::Rect(x, y, width, height));
|
| - }
|
| -
|
| - // Sets up the test environment with the taskbar along a given edge of the
|
| - // work area.
|
| - void PlaceTaskbar(AppListPositioner::ScreenEdge edge) {
|
| - const gfx::Rect& work_area = display_.work_area();
|
| - switch (edge) {
|
| - case AppListPositioner::SCREEN_EDGE_UNKNOWN:
|
| - taskbar_rect_ = gfx::Rect();
|
| - break;
|
| - case AppListPositioner::SCREEN_EDGE_LEFT:
|
| - taskbar_rect_ = gfx::Rect(
|
| - work_area.x(), work_area.y(), kTaskbarSize, work_area.height());
|
| - break;
|
| - case AppListPositioner::SCREEN_EDGE_RIGHT:
|
| - taskbar_rect_ =
|
| - gfx::Rect(work_area.x() + work_area.width() - kTaskbarSize,
|
| - work_area.y(),
|
| - kTaskbarSize,
|
| - work_area.height());
|
| - break;
|
| - case AppListPositioner::SCREEN_EDGE_TOP:
|
| - taskbar_rect_ = gfx::Rect(
|
| - work_area.x(), work_area.y(), work_area.width(), kTaskbarSize);
|
| - break;
|
| - case AppListPositioner::SCREEN_EDGE_BOTTOM:
|
| - taskbar_rect_ =
|
| - gfx::Rect(work_area.x(),
|
| - work_area.y() + work_area.height() - kTaskbarSize,
|
| - work_area.width(),
|
| - kTaskbarSize);
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // Set up the test mouse cursor in a given location.
|
| - void PlaceCursor(int x, int y) {
|
| - cursor_ = gfx::Point(x, y);
|
| - }
|
| -
|
| - void EnableWindowCentering() {
|
| - center_window_ = true;
|
| - }
|
| -
|
| - gfx::Point DoFindAnchorPoint() const {
|
| - return AppListWin::FindAnchorPoint(gfx::Size(kWindowWidth, kWindowHeight),
|
| - display_,
|
| - cursor_,
|
| - taskbar_rect_,
|
| - center_window_);
|
| - }
|
| -
|
| - private:
|
| - display::Display display_;
|
| - gfx::Point cursor_;
|
| - gfx::Rect taskbar_rect_;
|
| - bool center_window_;
|
| -};
|
| -
|
| -TEST_F(AppListWinUnitTest, FindAnchorPointNoTaskbar) {
|
| - // Position the app list when there is no taskbar on the display.
|
| - PlaceCursor(0, 0);
|
| - // Expect the app list to be in the bottom-left corner.
|
| - EXPECT_EQ(
|
| - gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kScreenHeight - kWindowHeight / 2 - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -}
|
| -
|
| -TEST_F(AppListWinUnitTest, FindAnchorPointMouseOffTaskbar) {
|
| - // Position the app list when the mouse is away from the taskbar.
|
| -
|
| - // Bottom taskbar. Expect the app list to be in the bottom-left corner.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kWindowAwayFromEdge, kScreenHeight - kCursorAwayFromTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Top taskbar. Expect the app list to be in the top-left corner.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_TOP);
|
| - PlaceCursor(kWindowAwayFromEdge, kCursorAwayFromTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kTaskbarSize + kWindowHeight / 2 + kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Left taskbar. Expect the app list to be in the top-left corner.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_LEFT);
|
| - PlaceCursor(kCursorAwayFromTaskbar, kWindowAwayFromEdge);
|
| - EXPECT_EQ(gfx::Point(kTaskbarSize + kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kWindowHeight / 2 + kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Right taskbar. Expect the app list to be in the top-right corner.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_RIGHT);
|
| - PlaceCursor(kScreenWidth - kCursorAwayFromTaskbar, kWindowAwayFromEdge);
|
| - EXPECT_EQ(gfx::Point(kScreenWidth - kTaskbarSize - kWindowWidth / 2 -
|
| - kMinDistanceFromEdge,
|
| - kWindowHeight / 2 + kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -}
|
| -
|
| -TEST_F(AppListWinUnitTest, FindAnchorPointMouseOnTaskbar) {
|
| - // Position the app list when the mouse is over the taskbar.
|
| -
|
| - // Bottom taskbar (mouse well within taskbar). Expect the app list to be at
|
| - // the bottom centered on the mouse X coordinate.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kWindowAwayFromEdge, kScreenHeight - kCursorOnTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowAwayFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Bottom taskbar (outside the taskbar but still close enough).
|
| - // Expect the app list to be at the bottom centered on the mouse X coordinate.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kWindowAwayFromEdge, kScreenHeight - kCursorNearTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowAwayFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Top taskbar. Expect the app list to be at the top centered on the
|
| - // mouse X coordinate.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_TOP);
|
| - PlaceCursor(kWindowAwayFromEdge, kCursorNearTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowAwayFromEdge,
|
| - kTaskbarSize + kWindowHeight / 2 + kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Left taskbar. Expect the app list to be at the left centered on the
|
| - // mouse Y coordinate.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_LEFT);
|
| - PlaceCursor(kCursorNearTaskbar, kWindowAwayFromEdge);
|
| - EXPECT_EQ(gfx::Point(kTaskbarSize + kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kWindowAwayFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Right taskbar. Expect the app list to be at the right centered on the
|
| - // mouse Y coordinate.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_RIGHT);
|
| - PlaceCursor(kScreenWidth - kCursorNearTaskbar, kWindowAwayFromEdge);
|
| - EXPECT_EQ(gfx::Point(kScreenWidth - kTaskbarSize - kWindowWidth / 2 -
|
| - kMinDistanceFromEdge,
|
| - kWindowAwayFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Bottom taskbar. Mouse near left edge. App list must not go off screen.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kWindowNearEdge, kScreenHeight - kCursorOnTaskbar);
|
| - EXPECT_EQ(gfx::Point(kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Bottom taskbar. Mouse near right edge. App list must not go off screen.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kScreenWidth - kWindowNearEdge, kScreenHeight - kCursorOnTaskbar);
|
| - EXPECT_EQ(gfx::Point(kScreenWidth - kWindowWidth / 2 - kMinDistanceFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -}
|
| -
|
| -TEST_F(AppListWinUnitTest, FindAnchorPointWin8SplitScreen) {
|
| - // Make the work area smaller than the screen, as you would get in Windows 8
|
| - // when there is a split screen and the Desktop is in one side of the screen.
|
| - SetWorkArea(
|
| - kWin8SplitPoint, 0, kScreenWidth - kWin8SplitPoint, kScreenHeight);
|
| -
|
| - // No taskbar. Expect the app list to be in the bottom-left corner of the work
|
| - // area.
|
| - EXPECT_EQ(
|
| - gfx::Point(kWin8SplitPoint + kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kScreenHeight - kWindowHeight / 2 - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -
|
| - // Bottom taskbar (mouse off-screen to the left). Expect the app list to be
|
| - // in the bottom-left corner of the work area.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_BOTTOM);
|
| - PlaceCursor(kWindowAwayFromEdge, kScreenHeight - kCursorOnTaskbar);
|
| - EXPECT_EQ(
|
| - gfx::Point(kWin8SplitPoint + kWindowWidth / 2 + kMinDistanceFromEdge,
|
| - kScreenHeight - kTaskbarSize - kWindowHeight / 2 -
|
| - kMinDistanceFromEdge),
|
| - DoFindAnchorPoint());
|
| -}
|
| -
|
| -TEST_F(AppListWinUnitTest, FindAnchorPointCentered) {
|
| - // Cursor on the top taskbar; enable centered app list mode.
|
| - PlaceTaskbar(AppListPositioner::SCREEN_EDGE_TOP);
|
| - PlaceCursor(0, 0);
|
| - EnableWindowCentering();
|
| - // Expect the app list to be in the center of the screen (ignore the cursor).
|
| - EXPECT_EQ(gfx::Point(kScreenWidth / 2, kScreenHeight / 2),
|
| - DoFindAnchorPoint());
|
| -}
|
|
|