| 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/athena_test_base.h" | 10 #include "athena/test/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::GetInstance()->ToggleOverview(); | 51 WindowManager::Get()->ToggleOverview(); |
| 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::GetInstance()->ToggleOverview(); | 57 WindowManager::Get()->ToggleOverview(); |
| 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::GetInstance()->ToggleOverview(); | 73 WindowManager::Get()->ToggleOverview(); |
| 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 // Toogle overview 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::GetInstance()->ToggleOverview(); | 96 WindowManager::Get()->ToggleOverview(); |
| 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::GetInstance()->ToggleOverview(); | 106 WindowManager::Get()->ToggleOverview(); |
| 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::GetInstance()->ToggleOverview(); | 125 WindowManager::Get()->ToggleOverview(); |
| 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 } |
| 136 | 136 |
| 137 TEST_F(HomeCardTest, MouseClick) { | 137 TEST_F(HomeCardTest, MouseClick) { |
| 138 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 138 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| 139 | 139 |
| 140 // Mouse click at the bottom of the screen should invokes overview mode and | 140 // Mouse click at the bottom of the screen should invokes overview mode and |
| 141 // changes the state to BOTTOM. | 141 // changes the state to BOTTOM. |
| 142 gfx::Rect screen_rect(root_window()->bounds()); | 142 gfx::Rect screen_rect(root_window()->bounds()); |
| 143 ui::test::EventGenerator generator( | 143 ui::test::EventGenerator generator( |
| 144 root_window(), gfx::Point( | 144 root_window(), gfx::Point( |
| 145 screen_rect.x() + screen_rect.width() / 2, screen_rect.bottom() - 1)); | 145 screen_rect.x() + screen_rect.width() / 2, screen_rect.bottom() - 1)); |
| 146 generator.ClickLeftButton(); | 146 generator.ClickLeftButton(); |
| 147 | 147 |
| 148 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 148 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 149 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 149 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 150 | 150 |
| 151 // Further clicks are simply ignored. | 151 // Further clicks are simply ignored. |
| 152 generator.ClickLeftButton(); | 152 generator.ClickLeftButton(); |
| 153 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 153 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 154 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 154 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 155 } | 155 } |
| 156 | 156 |
| 157 TEST_F(HomeCardTest, Gestures) { | 157 TEST_F(HomeCardTest, Gestures) { |
| 158 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 158 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| 159 ui::test::EventGenerator generator(root_window()); | 159 ui::test::EventGenerator generator(root_window()); |
| 160 gfx::Rect screen_rect(root_window()->bounds()); | 160 gfx::Rect screen_rect(root_window()->bounds()); |
| 161 | 161 |
| 162 const int bottom = screen_rect.bottom(); | 162 const int bottom = screen_rect.bottom(); |
| 163 const int x = screen_rect.x() + 1; | 163 const int x = screen_rect.x() + 1; |
| 164 | 164 |
| 165 generator.GestureScrollSequence(gfx::Point(x, bottom - 1), | 165 generator.GestureScrollSequence(gfx::Point(x, bottom - 1), |
| 166 gfx::Point(x, bottom - 70), | 166 gfx::Point(x, bottom - 70), |
| 167 base::TimeDelta::FromSeconds(1), | 167 base::TimeDelta::FromSeconds(1), |
| 168 10); | 168 10); |
| 169 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 169 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 170 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 170 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 171 | 171 |
| 172 // Too short moves. Nothing has changed. | 172 // Too short moves. Nothing has changed. |
| 173 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 173 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
| 174 gfx::Point(x, bottom - 80), | 174 gfx::Point(x, bottom - 80), |
| 175 base::TimeDelta::FromSeconds(1), | 175 base::TimeDelta::FromSeconds(1), |
| 176 10); | 176 10); |
| 177 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 177 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 178 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 178 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 179 | 179 |
| 180 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 180 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
| 181 gfx::Point(x, bottom - 20), | 181 gfx::Point(x, bottom - 20), |
| 182 base::TimeDelta::FromSeconds(1), | 182 base::TimeDelta::FromSeconds(1), |
| 183 10); | 183 10); |
| 184 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 184 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 185 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 185 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 186 | 186 |
| 187 // Swipe up to the centered state. | 187 // Swipe up to the centered state. |
| 188 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 188 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
| 189 gfx::Point(x, bottom - 300), | 189 gfx::Point(x, bottom - 300), |
| 190 base::TimeDelta::FromSeconds(1), | 190 base::TimeDelta::FromSeconds(1), |
| 191 10); | 191 10); |
| 192 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 192 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 193 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 193 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 194 | 194 |
| 195 // Swipe up from centered; nothing has to be changed. | 195 // Swipe up from centered; nothing has to be changed. |
| 196 generator.GestureScrollSequence(gfx::Point(x, bottom - 300), | 196 generator.GestureScrollSequence(gfx::Point(x, bottom - 300), |
| 197 gfx::Point(x, bottom - 350), | 197 gfx::Point(x, bottom - 350), |
| 198 base::TimeDelta::FromSeconds(1), | 198 base::TimeDelta::FromSeconds(1), |
| 199 10); | 199 10); |
| 200 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 200 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 201 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 201 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 202 | 202 |
| 203 // Swipe down slightly; nothing has to be changed. | 203 // Swipe down slightly; nothing has to be changed. |
| 204 generator.GestureScrollSequence(gfx::Point(x, bottom - 300), | 204 generator.GestureScrollSequence(gfx::Point(x, bottom - 300), |
| 205 gfx::Point(x, bottom - 250), | 205 gfx::Point(x, bottom - 250), |
| 206 base::TimeDelta::FromSeconds(1), | 206 base::TimeDelta::FromSeconds(1), |
| 207 10); | 207 10); |
| 208 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 208 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 209 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 209 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 210 | 210 |
| 211 // Swipe down to the bottom state. | 211 // Swipe down to the bottom state. |
| 212 generator.GestureScrollSequence(gfx::Point(x, 10), | 212 generator.GestureScrollSequence(gfx::Point(x, 10), |
| 213 gfx::Point(x, bottom - 90), | 213 gfx::Point(x, bottom - 90), |
| 214 base::TimeDelta::FromSeconds(1), | 214 base::TimeDelta::FromSeconds(1), |
| 215 10); | 215 10); |
| 216 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 216 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 217 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 217 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 218 | 218 |
| 219 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 219 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
| 220 gfx::Point(x, bottom - 300), | 220 gfx::Point(x, bottom - 300), |
| 221 base::TimeDelta::FromSeconds(1), | 221 base::TimeDelta::FromSeconds(1), |
| 222 10); | 222 10); |
| 223 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 223 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 224 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 224 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 225 | 225 |
| 226 // Swipe down to the minimized state. | 226 // Swipe down to the minimized state. |
| 227 generator.GestureScrollSequence(gfx::Point(x, 10), | 227 generator.GestureScrollSequence(gfx::Point(x, 10), |
| 228 gfx::Point(x, bottom - 1), | 228 gfx::Point(x, bottom - 1), |
| 229 base::TimeDelta::FromSeconds(1), | 229 base::TimeDelta::FromSeconds(1), |
| 230 10); | 230 10); |
| 231 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 231 EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| 232 EXPECT_FALSE(WindowManager::GetInstance()->IsOverviewModeActive()); | 232 EXPECT_FALSE(WindowManager::Get()->IsOverviewModeActive()); |
| 233 | |
| 234 } | 233 } |
| 235 | 234 |
| 236 TEST_F(HomeCardTest, GesturesToFullDirectly) { | 235 TEST_F(HomeCardTest, GesturesToFullDirectly) { |
| 237 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 236 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| 238 ui::test::EventGenerator generator(root_window()); | 237 ui::test::EventGenerator generator(root_window()); |
| 239 gfx::Rect screen_rect(root_window()->bounds()); | 238 gfx::Rect screen_rect(root_window()->bounds()); |
| 240 | 239 |
| 241 const int bottom = screen_rect.bottom(); | 240 const int bottom = screen_rect.bottom(); |
| 242 const int x = screen_rect.x() + 1; | 241 const int x = screen_rect.x() + 1; |
| 243 | 242 |
| 244 generator.GestureScrollSequence(gfx::Point(x, bottom - 1), | 243 generator.GestureScrollSequence(gfx::Point(x, bottom - 1), |
| 245 gfx::Point(x, 20), | 244 gfx::Point(x, 20), |
| 246 base::TimeDelta::FromSeconds(1), | 245 base::TimeDelta::FromSeconds(1), |
| 247 10); | 246 10); |
| 248 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 247 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 249 EXPECT_TRUE(WindowManager::GetInstance()->IsOverviewModeActive()); | 248 EXPECT_TRUE(WindowManager::Get()->IsOverviewModeActive()); |
| 250 } | 249 } |
| 251 | 250 |
| 252 TEST_F(HomeCardTest, KeyboardFocus) { | 251 TEST_F(HomeCardTest, KeyboardFocus) { |
| 253 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); | 252 ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState()); |
| 254 aura::Window* home_card = GetHomeCardWindow(); | 253 aura::Window* home_card = GetHomeCardWindow(); |
| 255 ASSERT_FALSE(IsSearchBoxFocused(home_card)); | 254 ASSERT_FALSE(IsSearchBoxFocused(home_card)); |
| 256 | 255 |
| 257 WindowManager::GetInstance()->ToggleOverview(); | 256 WindowManager::Get()->ToggleOverview(); |
| 258 ASSERT_FALSE(IsSearchBoxFocused(home_card)); | 257 ASSERT_FALSE(IsSearchBoxFocused(home_card)); |
| 259 | 258 |
| 260 ui::test::EventGenerator generator(root_window()); | 259 ui::test::EventGenerator generator(root_window()); |
| 261 gfx::Rect screen_rect(root_window()->bounds()); | 260 gfx::Rect screen_rect(root_window()->bounds()); |
| 262 | 261 |
| 263 const int bottom = screen_rect.bottom(); | 262 const int bottom = screen_rect.bottom(); |
| 264 const int x = screen_rect.x() + 1; | 263 const int x = screen_rect.x() + 1; |
| 265 | 264 |
| 266 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), | 265 generator.GestureScrollSequence(gfx::Point(x, bottom - 40), |
| 267 gfx::Point(x, 10), | 266 gfx::Point(x, 10), |
| 268 base::TimeDelta::FromSeconds(1), | 267 base::TimeDelta::FromSeconds(1), |
| 269 10); | 268 10); |
| 270 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); | 269 EXPECT_EQ(HomeCard::VISIBLE_CENTERED, HomeCard::Get()->GetState()); |
| 271 EXPECT_TRUE(IsSearchBoxFocused(home_card)); | 270 EXPECT_TRUE(IsSearchBoxFocused(home_card)); |
| 272 | 271 |
| 273 generator.GestureScrollSequence(gfx::Point(x, 10), | 272 generator.GestureScrollSequence(gfx::Point(x, 10), |
| 274 gfx::Point(x, bottom - 100), | 273 gfx::Point(x, bottom - 100), |
| 275 base::TimeDelta::FromSeconds(1), | 274 base::TimeDelta::FromSeconds(1), |
| 276 10); | 275 10); |
| 277 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); | 276 EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, HomeCard::Get()->GetState()); |
| 278 EXPECT_FALSE(IsSearchBoxFocused(home_card)); | 277 EXPECT_FALSE(IsSearchBoxFocused(home_card)); |
| 279 } | 278 } |
| 280 | 279 |
| 281 } // namespace athena | 280 } // namespace athena |
| OLD | NEW |