OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "athena/home/public/home_card.h" | 5 #include "athena/home/public/home_card.h" |
6 | 6 |
7 #include "athena/activity/public/activity_factory.h" | 7 #include "athena/activity/public/activity_factory.h" |
8 #include "athena/home/home_card_constants.h" | 8 #include "athena/home/home_card_constants.h" |
9 #include "athena/home/home_card_impl.h" | 9 #include "athena/home/home_card_impl.h" |
10 #include "athena/test/base/athena_test_base.h" | 10 #include "athena/test/base/athena_test_base.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 const int work_area_height = gfx::Screen::GetScreenFor(root_window())-> | 41 const int work_area_height = gfx::Screen::GetScreenFor(root_window())-> |
42 GetDisplayNearestWindow(root_window()).work_area().height(); | 42 GetDisplayNearestWindow(root_window()).work_area().height(); |
43 ASSERT_TRUE(home_card); | 43 ASSERT_TRUE(home_card); |
44 | 44 |
45 // In the minimized state, home card should be outside (below) the work area. | 45 // In the minimized state, home card should be outside (below) the work area. |
46 EXPECT_EQ(screen_height - kHomeCardMinimizedHeight, | 46 EXPECT_EQ(screen_height - kHomeCardMinimizedHeight, |
47 home_card->GetTargetBounds().y()); | 47 home_card->GetTargetBounds().y()); |
48 EXPECT_EQ(work_area_height, home_card->GetTargetBounds().y()); | 48 EXPECT_EQ(work_area_height, home_card->GetTargetBounds().y()); |
49 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_NONE, wm::GetShadowType(home_card)); | 49 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_NONE, wm::GetShadowType(home_card)); |
50 | 50 |
51 WindowManager::Get()->ToggleOverview(); | 51 WindowManager::Get()->EnterOverview(); |
52 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 52 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
53 EXPECT_EQ(screen_height - kHomeCardHeight, home_card->GetTargetBounds().y()); | 53 EXPECT_EQ(screen_height - kHomeCardHeight, home_card->GetTargetBounds().y()); |
54 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_RECTANGULAR, | 54 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_RECTANGULAR, |
55 wm::GetShadowType(home_card)); | 55 wm::GetShadowType(home_card)); |
56 | 56 |
57 WindowManager::Get()->ToggleOverview(); | 57 WindowManager::Get()->ExitOverview(); |
58 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 58 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
59 EXPECT_EQ(work_area_height, home_card->GetTargetBounds().y()); | 59 EXPECT_EQ(work_area_height, home_card->GetTargetBounds().y()); |
60 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_NONE, wm::GetShadowType(home_card)); | 60 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_NONE, wm::GetShadowType(home_card)); |
61 } | 61 } |
62 | 62 |
63 TEST_F(HomeCardTest, VirtualKeyboardTransition) { | 63 TEST_F(HomeCardTest, VirtualKeyboardTransition) { |
64 // Minimized -> Hidden for virtual keyboard. | 64 // Minimized -> Hidden for virtual keyboard. |
65 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 65 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
66 const gfx::Rect vk_bounds(0, 0, 100, 100); | 66 const gfx::Rect vk_bounds(0, 0, 100, 100); |
67 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); | 67 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); |
68 EXPECT_EQ(HomeCard::HIDDEN, HomeCard::Get()->GetState()); | 68 EXPECT_EQ(HomeCard::HIDDEN, HomeCard::Get()->GetState()); |
69 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); | 69 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); |
70 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 70 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
71 | 71 |
72 // bottom -> centered for virtual keyboard. | 72 // bottom -> centered for virtual keyboard. |
73 WindowManager::Get()->ToggleOverview(); | 73 WindowManager::Get()->EnterOverview(); |
74 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 74 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
75 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); | 75 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); |
76 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 76 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
77 | 77 |
78 aura::Window* home_card = GetHomeCardWindow(); | 78 aura::Window* home_card = GetHomeCardWindow(); |
79 EXPECT_EQ(0, home_card->GetTargetBounds().y()); | 79 EXPECT_EQ(0, home_card->GetTargetBounds().y()); |
80 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_RECTANGULAR, | 80 EXPECT_EQ(wm::ShadowType::SHADOW_TYPE_RECTANGULAR, |
81 wm::GetShadowType(home_card)); | 81 wm::GetShadowType(home_card)); |
82 | 82 |
83 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); | 83 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect()); |
84 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 84 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
85 } | 85 } |
86 | 86 |
87 TEST_F(HomeCardTest, ToggleOverviewWithVirtualKeyboard) { | 87 TEST_F(HomeCardTest, ToggleOverviewWithVirtualKeyboard) { |
88 // Minimized -> Hidden for virtual keyboard. | 88 // Minimized -> Hidden for virtual keyboard. |
89 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 89 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
90 const gfx::Rect vk_bounds(0, 0, 100, 100); | 90 const gfx::Rect vk_bounds(0, 0, 100, 100); |
91 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); | 91 HomeCard::Get()->UpdateVirtualKeyboardBounds(vk_bounds); |
92 EXPECT_EQ(HomeCard::HIDDEN, HomeCard::Get()->GetState()); | 92 EXPECT_EQ(HomeCard::HIDDEN, HomeCard::Get()->GetState()); |
93 | 93 |
94 // Toogle overview revives the bottom home card. Home card also gets | 94 // EnterOverview() revives the bottom home card. Home card also gets |
95 /// activated which will close the virtual keyboard. | 95 /// activated which will close the virtual keyboard. |
96 WindowManager::Get()->ToggleOverview(); | 96 WindowManager::Get()->EnterOverview(); |
97 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 97 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
98 aura::Window* home_card = GetHomeCardWindow(); | 98 aura::Window* home_card = GetHomeCardWindow(); |
99 EXPECT_TRUE(wm::IsActiveWindow(home_card)); | 99 EXPECT_TRUE(wm::IsActiveWindow(home_card)); |
100 } | 100 } |
101 | 101 |
102 // Verify if the home card is correctly minimized after app launch. | 102 // Verify if the home card is correctly minimized after app launch. |
103 TEST_F(HomeCardTest, AppSelection) { | 103 TEST_F(HomeCardTest, AppSelection) { |
104 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 104 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
105 | 105 |
106 WindowManager::Get()->ToggleOverview(); | 106 WindowManager::Get()->EnterOverview(); |
107 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 107 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
108 | 108 |
109 athena::ActivityFactory::Get()->CreateWebActivity( | 109 athena::ActivityFactory::Get()->CreateWebActivity( |
110 NULL, base::string16(), GURL("http://www.google.com/")); | 110 NULL, base::string16(), GURL("http://www.google.com/")); |
111 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 111 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
112 } | 112 } |
113 | 113 |
114 TEST_F(HomeCardTest, Accelerators) { | 114 TEST_F(HomeCardTest, Accelerators) { |
115 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 115 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
116 | 116 |
117 ui::test::EventGenerator generator(root_window()); | 117 ui::test::EventGenerator generator(root_window()); |
118 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); | 118 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); |
119 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 119 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
120 | 120 |
121 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); | 121 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); |
122 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 122 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
123 | 123 |
124 // Do nothing for BOTTOM. | 124 // Do nothing for BOTTOM |
125 WindowManager::Get()->ToggleOverview(); | 125 WindowManager::Get()->EnterOverview(); |
126 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 126 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
127 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); | 127 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); |
128 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 128 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
129 | 129 |
130 // Do nothing if the centered state is a temporary state. | 130 // Do nothing if the centered state is a temporary state. |
131 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect(0, 0, 100, 100)); | 131 HomeCard::Get()->UpdateVirtualKeyboardBounds(gfx::Rect(0, 0, 100, 100)); |
132 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 132 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
133 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); | 133 generator.PressKey(ui::VKEY_L, ui::EF_CONTROL_DOWN); |
134 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 134 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
135 } | 135 } |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 10); | 246 10); |
247 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 247 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
248 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); | 248 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
249 } | 249 } |
250 | 250 |
251 TEST_F(HomeCardTest, KeyboardFocus) { | 251 TEST_F(HomeCardTest, KeyboardFocus) { |
252 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 252 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
253 aura::Window* home_card = GetHomeCardWindow(); | 253 aura::Window* home_card = GetHomeCardWindow(); |
254 ASSERT_FALSE(IsSearchBoxFocused(home_card)); | 254 ASSERT_FALSE(IsSearchBoxFocused(home_card)); |
255 | 255 |
256 WindowManager::Get()->ToggleOverview(); | 256 WindowManager::Get()->EnterOverview(); |
257 ASSERT_FALSE(IsSearchBoxFocused(home_card)); | 257 ASSERT_FALSE(IsSearchBoxFocused(home_card)); |
258 | 258 |
259 ui::test::EventGenerator generator(root_window()); | 259 ui::test::EventGenerator generator(root_window()); |
260 gfx::Rect screen_rect(root_window()->bounds()); | 260 gfx::Rect screen_rect(root_window()->bounds()); |
261 | 261 |
262 const int bottom = screen_rect.bottom(); | 262 const int bottom = screen_rect.bottom(); |
263 const int x = screen_rect.x() + 1; | 263 const int x = screen_rect.x() + 1; |
264 | 264 |
265 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 265 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
266 gfx::Point(x, 10), | 266 gfx::Point(x, 10), |
267 base::TimeDelta::FromSeconds(1), | 267 base::TimeDelta::FromSeconds(1), |
268 10); | 268 10); |
269 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 269 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
270 EXPECT_TRUE(IsSearchBoxFocused(home_card)); | 270 EXPECT_TRUE(IsSearchBoxFocused(home_card)); |
271 | 271 |
272 generator.GestureScrollSequence(gfx::Point(x, 10), | 272 generator.GestureScrollSequence(gfx::Point(x, 10), |
273 gfx::Point(x, bottom - 100), | 273 gfx::Point(x, bottom - 100), |
274 base::TimeDelta::FromSeconds(1), | 274 base::TimeDelta::FromSeconds(1), |
275 10); | 275 10); |
276 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 276 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
277 EXPECT_FALSE(IsSearchBoxFocused(home_card)); | 277 EXPECT_FALSE(IsSearchBoxFocused(home_card)); |
278 } | 278 } |
279 | 279 |
280 } // namespace athena | 280 } // namespace athena |
OLD | NEW |