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

Side by Side Diff: chrome/browser/dock_info_unittest.cc

Issue 5544002: Move a bunch more browser stuff around.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 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
« no previous file with comments | « chrome/browser/dock_info_mac.cc ('k') | chrome/browser/dock_info_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/basictypes.h"
6 #include "chrome/browser/dock_info.h"
7 #include "gfx/point.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace {
11 // Distance in pixels between the hotspot and when the hint should be shown.
12 const int kHotSpotDeltaX = 120;
13 const int kHotSpotDeltaY = 120;
14 // Size of the popup window.
15 const int kPopupWidth = 70;
16 const int kPopupHeight = 70;
17 } // namespace
18
19 TEST(DockInfoTest, IsCloseToPoint) {
20 bool in_enable_area;
21 gfx::Point screen_loc[] = {
22 gfx::Point(0, 0),
23 gfx::Point(kPopupWidth/2 - 1, kPopupHeight/2 - 1),
24 gfx::Point(kPopupWidth/2, kPopupHeight/2),
25 gfx::Point(kHotSpotDeltaX - 1, kHotSpotDeltaY - 1),
26 gfx::Point(kHotSpotDeltaX, kHotSpotDeltaY),
27 gfx::Point(-kHotSpotDeltaX, -kHotSpotDeltaY)
28 };
29 gfx::Point hotspot[] = {
30 gfx::Point(0, 0),
31 gfx::Point(0, 0),
32 gfx::Point(kPopupWidth, kPopupHeight),
33 gfx::Point(0, 0),
34 gfx::Point(2*kHotSpotDeltaX, 2*kHotSpotDeltaY),
35 gfx::Point(0, 0)
36 };
37 bool expected_results[] = {
38 true, true, true, true, false, false
39 };
40 bool expected_in_enable_area[] = {
41 true, true, false, false, false, false
42 };
43
44 for (size_t i = 0; i < arraysize(expected_results); ++i) {
45 bool result = DockInfo::IsCloseToPoint(
46 screen_loc[i], hotspot[i].x(), hotspot[i].y(), &in_enable_area);
47 EXPECT_EQ(expected_results[i], result);
48 EXPECT_EQ(expected_in_enable_area[i], in_enable_area);
49 }
50 }
51
52 TEST(DockInfoTest, IsCloseToMonitorPoint) {
53 bool in_enable_area;
54 gfx::Point screen_loc[] = {
55 gfx::Point(0, 0),
56 gfx::Point(kPopupWidth - 1, kPopupHeight/2 -1),
57 gfx::Point(kPopupWidth, kPopupHeight/2 - 1),
58 gfx::Point(kPopupWidth - 1, kPopupHeight),
59 gfx::Point(2*kHotSpotDeltaX, kHotSpotDeltaY - 1),
60 gfx::Point(2*kHotSpotDeltaX - 1, kHotSpotDeltaY),
61 gfx::Point(2*kHotSpotDeltaX - 1, kHotSpotDeltaY),
62 gfx::Point(0, 0),
63 gfx::Point(kPopupWidth/2 - 1, kPopupHeight - 1),
64 gfx::Point(kPopupWidth/2 - 1, kPopupHeight),
65 gfx::Point(kPopupWidth/2, kPopupHeight - 1),
66 gfx::Point(kHotSpotDeltaX - 1, 2*kHotSpotDeltaY),
67 gfx::Point(kHotSpotDeltaX, 2*kHotSpotDeltaY - 1),
68 };
69 gfx::Point hotspot = gfx::Point(0, 0);
70 DockInfo::Type type[] = {
71 DockInfo::LEFT_HALF,
72 DockInfo::LEFT_HALF,
73 DockInfo::LEFT_HALF,
74 DockInfo::LEFT_HALF,
75 DockInfo::LEFT_HALF,
76 DockInfo::LEFT_HALF,
77 DockInfo::RIGHT_HALF,
78 DockInfo::BOTTOM_HALF,
79 DockInfo::BOTTOM_HALF,
80 DockInfo::BOTTOM_HALF,
81 DockInfo::BOTTOM_HALF,
82 DockInfo::BOTTOM_HALF,
83 DockInfo::BOTTOM_HALF,
84 };
85 bool expected_results[] = {
86 true, true, true, true, false, false, false,
87 true, true, true, true, false, false
88 };
89 bool expected_in_enable_area[] = {
90 true, true, false, false, false, false, false,
91 true, true, false, false, false, false
92 };
93
94 for (size_t i = 0; i < arraysize(expected_results); ++i) {
95 bool result = DockInfo::IsCloseToMonitorPoint(
96 screen_loc[i], hotspot.x(), hotspot.y(), type[i], &in_enable_area);
97 EXPECT_EQ(expected_results[i], result);
98 EXPECT_EQ(expected_in_enable_area[i], in_enable_area);
99 }
100 }
101
102 TEST(DockInfoTest, IsValidForPoint) {
103 DockInfo d;
104 EXPECT_EQ(false, d.IsValidForPoint(gfx::Point(0, 0)));
105 d.set_monitor_bounds(gfx::Rect(0, 0, kPopupWidth, kPopupHeight));
106 d.set_hot_spot(gfx::Point(0, 0));
107 d.set_type(DockInfo::LEFT_HALF);
108
109 gfx::Point screen_point[] = {
110 gfx::Point(0, 0),
111 gfx::Point(kPopupWidth + 1, kPopupHeight + 1),
112 gfx::Point(2 * kHotSpotDeltaX, kHotSpotDeltaY),
113 };
114
115 bool expected_result[] = {
116 true, false, false
117 };
118
119 for (size_t i = 0; i < arraysize(expected_result); ++i) {
120 EXPECT_EQ(expected_result[i], d.IsValidForPoint(screen_point[i]));
121 }
122 }
123
124 TEST(DockInfoTest, equals) {
125 DockInfo d;
126 DockInfo dd;
127 EXPECT_EQ(true, d.equals(dd));
128 d.set_type(DockInfo::MAXIMIZE);
129 EXPECT_EQ(false, d.equals(dd));
130 }
131
132 TEST(DockInfoTest, CheckMonitorPoint) {
133 DockInfo d;
134 gfx::Point screen_loc[] = {
135 gfx::Point(0, 0),
136 gfx::Point(2 * kHotSpotDeltaX, kHotSpotDeltaY),
137 gfx::Point(2 * kHotSpotDeltaX, kHotSpotDeltaY),
138 };
139
140 DockInfo::Type type[] = {
141 DockInfo::LEFT_HALF,
142 DockInfo::RIGHT_HALF,
143 DockInfo::MAXIMIZE
144 };
145
146 bool expected_result[] = {
147 true, false, false
148 };
149
150 for (size_t i = 0; i < arraysize(expected_result); ++i) {
151 bool result = d.CheckMonitorPoint(screen_loc[i], 0, 0, type[i]);
152 EXPECT_EQ(result, expected_result[i]);
153 if (result == true) {
154 EXPECT_EQ(0, d.hot_spot().x());
155 EXPECT_EQ(0, d.hot_spot().y());
156 EXPECT_EQ(type[i], d.type());
157 }
158 }
159 }
160
161 TEST(DockInfoTest, GetPopupRect) {
162 DockInfo d;
163 d.set_hot_spot(gfx::Point(kPopupWidth, kPopupHeight));
164 DockInfo::Type type[] = {
165 DockInfo::MAXIMIZE,
166 DockInfo::LEFT_HALF,
167 DockInfo::RIGHT_HALF,
168 DockInfo::BOTTOM_HALF,
169 };
170 int expected_x[] = {
171 kPopupWidth/2,
172 kPopupWidth,
173 0,
174 kPopupWidth/2
175 };
176 int expected_y[] = {
177 kPopupHeight,
178 kPopupHeight/2,
179 kPopupHeight/2,
180 0
181 };
182
183 for (size_t i = 0; i < arraysize(type); ++i) {
184 d.set_type(type[i]);
185 gfx::Rect result = d.GetPopupRect();
186 EXPECT_EQ(expected_x[i], result.x());
187 EXPECT_EQ(expected_y[i], result.y());
188 EXPECT_EQ(kPopupWidth, result.width());
189 EXPECT_EQ(kPopupHeight, result.height());
190 }
191 }
OLDNEW
« no previous file with comments | « chrome/browser/dock_info_mac.cc ('k') | chrome/browser/dock_info_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698