OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/launcher/launcher_tooltip_manager.h" | 5 #include "ash/launcher/launcher_tooltip_manager.h" |
6 | 6 |
7 #include "ash/test/ash_test_base.h" | 7 #include "ash/test/ash_test_base.h" |
8 #include "ash/wm/shelf_layout_manager.h" | 8 #include "ash/wm/shelf_layout_manager.h" |
9 #include "ash/wm/window_util.h" | 9 #include "ash/wm/window_util.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
11 #include "base/time.h" | 11 #include "base/time.h" |
12 #include "ui/aura/event.h" | |
13 #include "ui/aura/event_filter.h" | 12 #include "ui/aura/event_filter.h" |
14 #include "ui/aura/root_window.h" | 13 #include "ui/aura/root_window.h" |
| 14 #include "ui/base/event.h" |
15 #include "ui/base/events.h" | 15 #include "ui/base/events.h" |
16 #include "ui/base/keycodes/keyboard_codes.h" | 16 #include "ui/base/keycodes/keyboard_codes.h" |
17 #include "ui/views/widget/widget.h" | 17 #include "ui/views/widget/widget.h" |
18 | 18 |
19 namespace ash { | 19 namespace ash { |
20 namespace test { | 20 namespace test { |
21 | 21 |
22 class LauncherTooltipManagerTest : public AshTestBase { | 22 class LauncherTooltipManagerTest : public AshTestBase { |
23 public: | 23 public: |
24 LauncherTooltipManagerTest() {} | 24 LauncherTooltipManagerTest() {} |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 } | 134 } |
135 | 135 |
136 TEST_F(LauncherTooltipManagerTest, ShouldHideForEvents) { | 136 TEST_F(LauncherTooltipManagerTest, ShouldHideForEvents) { |
137 ShowImmediately(); | 137 ShowImmediately(); |
138 ASSERT_TRUE(TooltipIsVisible()); | 138 ASSERT_TRUE(TooltipIsVisible()); |
139 | 139 |
140 aura::RootWindow* root_window = Shell::GetInstance()->GetPrimaryRootWindow(); | 140 aura::RootWindow* root_window = Shell::GetInstance()->GetPrimaryRootWindow(); |
141 aura::EventFilter* event_filter = GetEventFilter(); | 141 aura::EventFilter* event_filter = GetEventFilter(); |
142 | 142 |
143 // Should not hide for key events. | 143 // Should not hide for key events. |
144 aura::KeyEvent key_event(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE); | 144 ui::KeyEvent key_event(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE); |
145 EXPECT_FALSE(event_filter->PreHandleKeyEvent(root_window, &key_event)); | 145 EXPECT_FALSE(event_filter->PreHandleKeyEvent(root_window, &key_event)); |
146 EXPECT_TRUE(TooltipIsVisible()); | 146 EXPECT_TRUE(TooltipIsVisible()); |
147 | 147 |
148 // Should hide for touch events. | 148 // Should hide for touch events. |
149 aura::TouchEvent touch_event( | 149 ui::TouchEventImpl touch_event( |
150 ui::ET_TOUCH_PRESSED, gfx::Point(), 0, base::TimeDelta()); | 150 ui::ET_TOUCH_PRESSED, gfx::Point(), 0, base::TimeDelta()); |
151 EXPECT_EQ(ui::TOUCH_STATUS_UNKNOWN, | 151 EXPECT_EQ(ui::TOUCH_STATUS_UNKNOWN, |
152 event_filter->PreHandleTouchEvent(root_window, &touch_event)); | 152 event_filter->PreHandleTouchEvent(root_window, &touch_event)); |
153 EXPECT_FALSE(TooltipIsVisible()); | 153 EXPECT_FALSE(TooltipIsVisible()); |
154 | 154 |
155 // Shouldn't hide if the touch happens on the tooltip. | 155 // Shouldn't hide if the touch happens on the tooltip. |
156 ShowImmediately(); | 156 ShowImmediately(); |
157 views::Widget* tooltip_widget = GetTooltipWidget(); | 157 views::Widget* tooltip_widget = GetTooltipWidget(); |
158 EXPECT_EQ(ui::TOUCH_STATUS_UNKNOWN, | 158 EXPECT_EQ(ui::TOUCH_STATUS_UNKNOWN, |
159 event_filter->PreHandleTouchEvent( | 159 event_filter->PreHandleTouchEvent( |
160 tooltip_widget->GetNativeWindow(), &touch_event)); | 160 tooltip_widget->GetNativeWindow(), &touch_event)); |
161 EXPECT_TRUE(TooltipIsVisible()); | 161 EXPECT_TRUE(TooltipIsVisible()); |
162 | 162 |
163 // Should hide for gesture events. | 163 // Should hide for gesture events. |
164 aura::GestureEvent gesture_event( | 164 ui::GestureEventImpl gesture_event( |
165 ui::ET_GESTURE_BEGIN, 0, 0, ui::EF_NONE, base::Time(), | 165 ui::ET_GESTURE_BEGIN, 0, 0, ui::EF_NONE, base::Time(), |
166 ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0.0f, 0.0f), 0); | 166 ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0.0f, 0.0f), 0); |
167 EXPECT_EQ(ui::GESTURE_STATUS_UNKNOWN, | 167 EXPECT_EQ(ui::GESTURE_STATUS_UNKNOWN, |
168 event_filter->PreHandleGestureEvent(root_window, &gesture_event)); | 168 event_filter->PreHandleGestureEvent(root_window, &gesture_event)); |
169 RunAllPendingInMessageLoop(); | 169 RunAllPendingInMessageLoop(); |
170 EXPECT_FALSE(TooltipIsVisible()); | 170 EXPECT_FALSE(TooltipIsVisible()); |
171 } | 171 } |
172 | 172 |
173 TEST_F(LauncherTooltipManagerTest, HideForMouseEvent) { | 173 TEST_F(LauncherTooltipManagerTest, HideForMouseEvent) { |
174 ShowImmediately(); | 174 ShowImmediately(); |
175 ASSERT_TRUE(TooltipIsVisible()); | 175 ASSERT_TRUE(TooltipIsVisible()); |
176 | 176 |
177 aura::RootWindow* root_window = Shell::GetInstance()->GetPrimaryRootWindow(); | 177 aura::RootWindow* root_window = Shell::GetInstance()->GetPrimaryRootWindow(); |
178 aura::EventFilter* event_filter = GetEventFilter(); | 178 aura::EventFilter* event_filter = GetEventFilter(); |
179 | 179 |
180 gfx::Rect tooltip_rect = GetTooltipWidget()->GetNativeWindow()->bounds(); | 180 gfx::Rect tooltip_rect = GetTooltipWidget()->GetNativeWindow()->bounds(); |
181 ASSERT_FALSE(tooltip_rect.IsEmpty()); | 181 ASSERT_FALSE(tooltip_rect.IsEmpty()); |
182 | 182 |
183 // Shouldn't hide if the mouse is in the tooltip. | 183 // Shouldn't hide if the mouse is in the tooltip. |
184 aura::MouseEvent mouse_event(ui::ET_MOUSE_MOVED, tooltip_rect.CenterPoint(), | 184 ui::MouseEvent mouse_event(ui::ET_MOUSE_MOVED, tooltip_rect.CenterPoint(), |
185 tooltip_rect.CenterPoint(), ui::EF_NONE); | 185 tooltip_rect.CenterPoint(), ui::EF_NONE); |
186 aura::LocatedEvent::TestApi test_api(&mouse_event); | 186 ui::LocatedEvent::TestApi test_api(&mouse_event); |
187 | 187 |
188 EXPECT_FALSE(event_filter->PreHandleMouseEvent(root_window, &mouse_event)); | 188 EXPECT_FALSE(event_filter->PreHandleMouseEvent(root_window, &mouse_event)); |
189 EXPECT_TRUE(TooltipIsVisible()); | 189 EXPECT_TRUE(TooltipIsVisible()); |
190 | 190 |
191 // Should hide if the mouse is out of the tooltip. | 191 // Should hide if the mouse is out of the tooltip. |
192 test_api.set_location(tooltip_rect.origin().Add(gfx::Point(-1, -1))); | 192 test_api.set_location(tooltip_rect.origin().Add(gfx::Point(-1, -1))); |
193 EXPECT_FALSE(event_filter->PreHandleMouseEvent(root_window, &mouse_event)); | 193 EXPECT_FALSE(event_filter->PreHandleMouseEvent(root_window, &mouse_event)); |
194 RunAllPendingInMessageLoop(); | 194 RunAllPendingInMessageLoop(); |
195 EXPECT_FALSE(TooltipIsVisible()); | 195 EXPECT_FALSE(TooltipIsVisible()); |
196 } | 196 } |
197 | 197 |
198 } // namespace test | 198 } // namespace test |
199 } // namespace ash | 199 } // namespace ash |
OLD | NEW |