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/display/display_controller.h" | 5 #include "ash/display/display_controller.h" |
6 #include "ash/shell.h" | 6 #include "ash/shell.h" |
7 #include "ash/test/ash_test_base.h" | 7 #include "ash/test/ash_test_base.h" |
8 #include "ash/tooltips/tooltip_controller.h" | 8 #include "ash/tooltips/tooltip_controller.h" |
9 #include "ash/wm/cursor_manager.h" | 9 #include "ash/wm/cursor_manager.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 TooltipTestView* view = new TooltipTestView; | 150 TooltipTestView* view = new TooltipTestView; |
151 AddViewToWidgetAndResize(widget.get(), view); | 151 AddViewToWidgetAndResize(widget.get(), view); |
152 view->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 152 view->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
153 EXPECT_EQ(string16(), GetTooltipText()); | 153 EXPECT_EQ(string16(), GetTooltipText()); |
154 EXPECT_EQ(NULL, GetTooltipWindow()); | 154 EXPECT_EQ(NULL, GetTooltipWindow()); |
155 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); | 155 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); |
156 generator.MoveMouseToCenterOf(widget->GetNativeView()); | 156 generator.MoveMouseToCenterOf(widget->GetNativeView()); |
157 | 157 |
158 aura::Window* window = widget->GetNativeView(); | 158 aura::Window* window = widget->GetNativeView(); |
159 EXPECT_EQ(window, Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( | 159 EXPECT_EQ(window, Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( |
160 generator.current_location())); | 160 generator.current_location(), ui::ET_MOUSE_ENTERED)); |
161 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 161 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
162 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 162 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
163 EXPECT_EQ(string16(), GetTooltipText()); | 163 EXPECT_EQ(string16(), GetTooltipText()); |
164 EXPECT_EQ(window, GetTooltipWindow()); | 164 EXPECT_EQ(window, GetTooltipWindow()); |
165 | 165 |
166 // Fire tooltip timer so tooltip becomes visible. | 166 // Fire tooltip timer so tooltip becomes visible. |
167 FireTooltipTimer(); | 167 FireTooltipTimer(); |
168 | 168 |
169 EXPECT_TRUE(IsTooltipVisible()); | 169 EXPECT_TRUE(IsTooltipVisible()); |
170 generator.MoveMouseBy(1, 0); | 170 generator.MoveMouseBy(1, 0); |
(...skipping 21 matching lines...) Expand all Loading... |
192 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); | 192 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); |
193 generator.MoveMouseRelativeTo(window, | 193 generator.MoveMouseRelativeTo(window, |
194 view1->bounds().CenterPoint()); | 194 view1->bounds().CenterPoint()); |
195 FireTooltipTimer(); | 195 FireTooltipTimer(); |
196 EXPECT_TRUE(IsTooltipVisible()); | 196 EXPECT_TRUE(IsTooltipVisible()); |
197 for (int i = 0; i < 50; i++) { | 197 for (int i = 0; i < 50; i++) { |
198 generator.MoveMouseBy(1, 0); | 198 generator.MoveMouseBy(1, 0); |
199 EXPECT_TRUE(IsTooltipVisible()); | 199 EXPECT_TRUE(IsTooltipVisible()); |
200 EXPECT_EQ(window, | 200 EXPECT_EQ(window, |
201 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( | 201 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( |
202 generator.current_location())); | 202 generator.current_location(), ui::ET_MOUSE_ENTERED)); |
203 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 203 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
204 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 204 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
205 EXPECT_EQ(expected_tooltip, GetTooltipText()); | 205 EXPECT_EQ(expected_tooltip, GetTooltipText()); |
206 EXPECT_EQ(window, GetTooltipWindow()); | 206 EXPECT_EQ(window, GetTooltipWindow()); |
207 } | 207 } |
208 for (int i = 0; i < 50; i++) { | 208 for (int i = 0; i < 50; i++) { |
209 generator.MoveMouseBy(1, 0); | 209 generator.MoveMouseBy(1, 0); |
210 EXPECT_FALSE(IsTooltipVisible()); | 210 EXPECT_FALSE(IsTooltipVisible()); |
211 EXPECT_EQ(window, | 211 EXPECT_EQ(window, |
212 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( | 212 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( |
213 generator.current_location())); | 213 generator.current_location(), ui::ET_MOUSE_ENTERED)); |
214 string16 expected_tooltip; // = "" | 214 string16 expected_tooltip; // = "" |
215 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 215 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
216 EXPECT_EQ(expected_tooltip, GetTooltipText()); | 216 EXPECT_EQ(expected_tooltip, GetTooltipText()); |
217 EXPECT_EQ(window, GetTooltipWindow()); | 217 EXPECT_EQ(window, GetTooltipWindow()); |
218 } | 218 } |
219 } | 219 } |
220 | 220 |
221 TEST_F(TooltipControllerTest, EnableOrDisableTooltips) { | 221 TEST_F(TooltipControllerTest, EnableOrDisableTooltips) { |
222 scoped_ptr<views::Widget> widget(CreateNewWidget()); | 222 scoped_ptr<views::Widget> widget(CreateNewWidget()); |
223 TooltipTestView* view = new TooltipTestView; | 223 TooltipTestView* view = new TooltipTestView; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 | 397 |
398 // Moving the mouse inside |view1| should not change the state of the tooltip | 398 // Moving the mouse inside |view1| should not change the state of the tooltip |
399 // or the timers. | 399 // or the timers. |
400 for (int i = 0; i < 50; i++) { | 400 for (int i = 0; i < 50; i++) { |
401 generator.MoveMouseBy(1, 0); | 401 generator.MoveMouseBy(1, 0); |
402 EXPECT_FALSE(IsTooltipVisible()); | 402 EXPECT_FALSE(IsTooltipVisible()); |
403 EXPECT_FALSE(IsTooltipTimerRunning()); | 403 EXPECT_FALSE(IsTooltipTimerRunning()); |
404 EXPECT_FALSE(IsTooltipShownTimerRunning()); | 404 EXPECT_FALSE(IsTooltipShownTimerRunning()); |
405 EXPECT_EQ(window, | 405 EXPECT_EQ(window, |
406 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( | 406 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( |
407 generator.current_location())); | 407 generator.current_location(), ui::ET_MOUSE_ENTERED)); |
408 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); | 408 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); |
409 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 409 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
410 EXPECT_EQ(expected_tooltip, GetTooltipText()); | 410 EXPECT_EQ(expected_tooltip, GetTooltipText()); |
411 EXPECT_EQ(window, GetTooltipWindow()); | 411 EXPECT_EQ(window, GetTooltipWindow()); |
412 } | 412 } |
413 | 413 |
414 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. | 414 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. |
415 generator.MoveMouseBy(1, 0); | 415 generator.MoveMouseBy(1, 0); |
416 EXPECT_TRUE(IsTooltipTimerRunning()); | 416 EXPECT_TRUE(IsTooltipTimerRunning()); |
417 FireTooltipTimer(); | 417 FireTooltipTimer(); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 | 452 |
453 // Moving the mouse inside |view1| should not change the state of the tooltip | 453 // Moving the mouse inside |view1| should not change the state of the tooltip |
454 // or the timers. | 454 // or the timers. |
455 for (int i = 0; i < 50; i++) { | 455 for (int i = 0; i < 50; i++) { |
456 generator.MoveMouseBy(1, 0); | 456 generator.MoveMouseBy(1, 0); |
457 EXPECT_FALSE(IsTooltipVisible()); | 457 EXPECT_FALSE(IsTooltipVisible()); |
458 EXPECT_FALSE(IsTooltipTimerRunning()); | 458 EXPECT_FALSE(IsTooltipTimerRunning()); |
459 EXPECT_FALSE(IsTooltipShownTimerRunning()); | 459 EXPECT_FALSE(IsTooltipShownTimerRunning()); |
460 EXPECT_EQ(window, | 460 EXPECT_EQ(window, |
461 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( | 461 Shell::GetPrimaryRootWindow()->GetEventHandlerForPoint( |
462 generator.current_location())); | 462 generator.current_location(), ui::ET_MOUSE_ENTERED)); |
463 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); | 463 string16 expected_tooltip = ASCIIToUTF16("Tooltip Text for view 1"); |
464 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); | 464 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(window)); |
465 EXPECT_EQ(expected_tooltip, GetTooltipText()); | 465 EXPECT_EQ(expected_tooltip, GetTooltipText()); |
466 EXPECT_EQ(window, GetTooltipWindow()); | 466 EXPECT_EQ(window, GetTooltipWindow()); |
467 } | 467 } |
468 | 468 |
469 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. | 469 // Now we move the mouse on to |view2|. It should re-start the tooltip timer. |
470 generator.MoveMouseBy(1, 0); | 470 generator.MoveMouseBy(1, 0); |
471 EXPECT_TRUE(IsTooltipTimerRunning()); | 471 EXPECT_TRUE(IsTooltipTimerRunning()); |
472 FireTooltipTimer(); | 472 FireTooltipTimer(); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 // be able to show tooltips on the primary display. | 512 // be able to show tooltips on the primary display. |
513 aura::test::EventGenerator generator1(root_windows[0]); | 513 aura::test::EventGenerator generator1(root_windows[0]); |
514 generator1.MoveMouseRelativeTo(widget1->GetNativeView(), | 514 generator1.MoveMouseRelativeTo(widget1->GetNativeView(), |
515 view1->bounds().CenterPoint()); | 515 view1->bounds().CenterPoint()); |
516 FireTooltipTimer(); | 516 FireTooltipTimer(); |
517 EXPECT_TRUE(IsTooltipVisible()); | 517 EXPECT_TRUE(IsTooltipVisible()); |
518 } | 518 } |
519 | 519 |
520 } // namespace test | 520 } // namespace test |
521 } // namespace ash | 521 } // namespace ash |
OLD | NEW |