OLD | NEW |
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 "ash/wm/caption_buttons/alternate_frame_size_button.h" | 5 #include "ash/wm/caption_buttons/alternate_frame_size_button.h" |
6 | 6 |
7 #include "ash/ash_switches.h" | 7 #include "ash/ash_switches.h" |
8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
9 #include "ash/test/ash_test_base.h" | 9 #include "ash/test/ash_test_base.h" |
10 #include "ash/wm/caption_buttons/frame_caption_button.h" | 10 #include "ash/wm/caption_buttons/frame_caption_button.h" |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 EXPECT_TRUE(window_state()->IsMaximized()); | 204 EXPECT_TRUE(window_state()->IsMaximized()); |
205 | 205 |
206 generator.GestureTapAt(CenterPointInScreen(size_button())); | 206 generator.GestureTapAt(CenterPointInScreen(size_button())); |
207 RunAllPendingInMessageLoop(); | 207 RunAllPendingInMessageLoop(); |
208 EXPECT_FALSE(window_state()->IsMaximized()); | 208 EXPECT_FALSE(window_state()->IsMaximized()); |
209 } | 209 } |
210 | 210 |
211 // Test that clicking + dragging to a button adjacent to the size button snaps | 211 // Test that clicking + dragging to a button adjacent to the size button snaps |
212 // the window left or right. | 212 // the window left or right. |
213 TEST_F(AlternateFrameSizeButtonTest, ButtonDrag) { | 213 TEST_F(AlternateFrameSizeButtonTest, ButtonDrag) { |
214 EXPECT_TRUE(window_state()->IsNormalShowState()); | 214 EXPECT_TRUE(window_state()->IsNormalShowType()); |
215 EXPECT_FALSE(window_state()->IsSnapped()); | |
216 | 215 |
217 // 1) Test by dragging the mouse. | 216 // 1) Test by dragging the mouse. |
218 // Snap right. | 217 // Snap right. |
219 aura::test::EventGenerator& generator = GetEventGenerator(); | 218 aura::test::EventGenerator& generator = GetEventGenerator(); |
220 generator.MoveMouseTo(CenterPointInScreen(size_button())); | 219 generator.MoveMouseTo(CenterPointInScreen(size_button())); |
221 generator.PressLeftButton(); | 220 generator.PressLeftButton(); |
222 generator.MoveMouseTo(CenterPointInScreen(close_button())); | 221 generator.MoveMouseTo(CenterPointInScreen(close_button())); |
223 generator.ReleaseLeftButton(); | 222 generator.ReleaseLeftButton(); |
224 RunAllPendingInMessageLoop(); | 223 RunAllPendingInMessageLoop(); |
225 EXPECT_TRUE(IsSnapped(internal::SnapSizer::RIGHT_EDGE)); | 224 EXPECT_TRUE(IsSnapped(internal::SnapSizer::RIGHT_EDGE)); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 generator.MoveMouseTo(CenterPointInScreen(size_button())); | 263 generator.MoveMouseTo(CenterPointInScreen(size_button())); |
265 generator.PressMoveAndReleaseTouchTo(CenterPointInScreen(minimize_button())); | 264 generator.PressMoveAndReleaseTouchTo(CenterPointInScreen(minimize_button())); |
266 RunAllPendingInMessageLoop(); | 265 RunAllPendingInMessageLoop(); |
267 EXPECT_TRUE(IsSnapped(internal::SnapSizer::LEFT_EDGE)); | 266 EXPECT_TRUE(IsSnapped(internal::SnapSizer::LEFT_EDGE)); |
268 ui::GestureConfiguration::set_default_radius(touch_default_radius); | 267 ui::GestureConfiguration::set_default_radius(touch_default_radius); |
269 } | 268 } |
270 | 269 |
271 // Test that clicking, dragging, and overshooting the minimize button a bit | 270 // Test that clicking, dragging, and overshooting the minimize button a bit |
272 // horizontally still snaps the window left. | 271 // horizontally still snaps the window left. |
273 TEST_F(AlternateFrameSizeButtonTest, SnapLeftOvershootMinimize) { | 272 TEST_F(AlternateFrameSizeButtonTest, SnapLeftOvershootMinimize) { |
274 EXPECT_TRUE(window_state()->IsNormalShowState()); | 273 EXPECT_TRUE(window_state()->IsNormalShowType()); |
275 EXPECT_FALSE(window_state()->IsSnapped()); | |
276 | 274 |
277 aura::test::EventGenerator& generator = GetEventGenerator(); | 275 aura::test::EventGenerator& generator = GetEventGenerator(); |
278 generator.MoveMouseTo(CenterPointInScreen(size_button())); | 276 generator.MoveMouseTo(CenterPointInScreen(size_button())); |
279 | 277 |
280 generator.PressLeftButton(); | 278 generator.PressLeftButton(); |
281 // Move to the minimize button. | 279 // Move to the minimize button. |
282 generator.MoveMouseTo(CenterPointInScreen(minimize_button())); | 280 generator.MoveMouseTo(CenterPointInScreen(minimize_button())); |
283 // Overshoot the minimize button. | 281 // Overshoot the minimize button. |
284 generator.MoveMouseBy(-minimize_button()->width(), 0); | 282 generator.MoveMouseBy(-minimize_button()->width(), 0); |
285 generator.ReleaseLeftButton(); | 283 generator.ReleaseLeftButton(); |
286 RunAllPendingInMessageLoop(); | 284 RunAllPendingInMessageLoop(); |
287 EXPECT_TRUE(IsSnapped(internal::SnapSizer::LEFT_EDGE)); | 285 EXPECT_TRUE(IsSnapped(internal::SnapSizer::LEFT_EDGE)); |
288 } | 286 } |
289 | 287 |
290 // Test that right clicking the size button has no effect. | 288 // Test that right clicking the size button has no effect. |
291 TEST_F(AlternateFrameSizeButtonTest, RightMouseButton) { | 289 TEST_F(AlternateFrameSizeButtonTest, RightMouseButton) { |
292 EXPECT_TRUE(window_state()->IsNormalShowState()); | 290 EXPECT_TRUE(window_state()->IsNormalShowType()); |
293 EXPECT_FALSE(window_state()->IsSnapped()); | |
294 | 291 |
295 aura::test::EventGenerator& generator = GetEventGenerator(); | 292 aura::test::EventGenerator& generator = GetEventGenerator(); |
296 generator.MoveMouseTo(CenterPointInScreen(size_button())); | 293 generator.MoveMouseTo(CenterPointInScreen(size_button())); |
297 generator.PressRightButton(); | 294 generator.PressRightButton(); |
298 generator.ReleaseRightButton(); | 295 generator.ReleaseRightButton(); |
299 RunAllPendingInMessageLoop(); | 296 RunAllPendingInMessageLoop(); |
300 EXPECT_TRUE(window_state()->IsNormalShowState()); | 297 EXPECT_TRUE(window_state()->IsNormalShowType()); |
301 EXPECT_FALSE(window_state()->IsSnapped()); | |
302 } | 298 } |
303 | 299 |
304 // Test that upon releasing the mouse button after having pressed the size | 300 // Test that upon releasing the mouse button after having pressed the size |
305 // button | 301 // button |
306 // - The state of all the caption buttons is reset. | 302 // - The state of all the caption buttons is reset. |
307 // - The icon displayed by all of the caption buttons is reset. | 303 // - The icon displayed by all of the caption buttons is reset. |
308 TEST_F(AlternateFrameSizeButtonTest, ResetButtonsAfterClick) { | 304 TEST_F(AlternateFrameSizeButtonTest, ResetButtonsAfterClick) { |
309 EXPECT_EQ(CAPTION_BUTTON_ICON_MINIMIZE, minimize_button()->icon()); | 305 EXPECT_EQ(CAPTION_BUTTON_ICON_MINIMIZE, minimize_button()->icon()); |
310 EXPECT_EQ(CAPTION_BUTTON_ICON_CLOSE, close_button()->icon()); | 306 EXPECT_EQ(CAPTION_BUTTON_ICON_CLOSE, close_button()->icon()); |
311 EXPECT_TRUE(AllButtonsInNormalState()); | 307 EXPECT_TRUE(AllButtonsInNormalState()); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 generator.MoveMouseTo(kWorkAreaBoundsInScreen.bottom_left()); | 403 generator.MoveMouseTo(kWorkAreaBoundsInScreen.bottom_left()); |
408 EXPECT_TRUE(AllButtonsInNormalState()); | 404 EXPECT_TRUE(AllButtonsInNormalState()); |
409 generator.MoveMouseTo(CenterPointInScreen(close_button())); | 405 generator.MoveMouseTo(CenterPointInScreen(close_button())); |
410 EXPECT_EQ(views::Button::STATE_NORMAL, minimize_button()->state()); | 406 EXPECT_EQ(views::Button::STATE_NORMAL, minimize_button()->state()); |
411 EXPECT_EQ(views::Button::STATE_PRESSED, size_button()->state()); | 407 EXPECT_EQ(views::Button::STATE_PRESSED, size_button()->state()); |
412 EXPECT_EQ(views::Button::STATE_HOVERED, close_button()->state()); | 408 EXPECT_EQ(views::Button::STATE_HOVERED, close_button()->state()); |
413 } | 409 } |
414 | 410 |
415 } // namespace test | 411 } // namespace test |
416 } // namespace ash | 412 } // namespace ash |
OLD | NEW |