diff options
Diffstat (limited to 'ash/shelf/shelf_tooltip_manager_unittest.cc')
-rw-r--r-- | ash/shelf/shelf_tooltip_manager_unittest.cc | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/ash/shelf/shelf_tooltip_manager_unittest.cc b/ash/shelf/shelf_tooltip_manager_unittest.cc index 3f2b2e8..7f6650e 100644 --- a/ash/shelf/shelf_tooltip_manager_unittest.cc +++ b/ash/shelf/shelf_tooltip_manager_unittest.cc @@ -173,35 +173,41 @@ TEST_F(ShelfTooltipManagerTest, HideForEvents) { EXPECT_FALSE(TooltipIsVisible()); } -// TODO(msw): Hiding for touch and gesture events outside the shelf is broken. -TEST_F(ShelfTooltipManagerTest, HideForEventsBroken) { +TEST_F(ShelfTooltipManagerTest, HideForExternalEvents) { ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); + // TODO(msw): Observe events outside the shelf in mash, to close tooltips. + aura::Window* shelf_window = shelf_->shelf_widget()->GetNativeWindow(); + bool closes = shelf_window->GetRootWindow() == Shell::GetPrimaryRootWindow(); + // Should hide for touches outside the shelf. ShowImmediately(); ASSERT_TRUE(TooltipIsVisible()); - generator.set_current_location(gfx::Point()); generator.PressTouch(); - EXPECT_TRUE(TooltipIsVisible()); + EXPECT_EQ(TooltipIsVisible(), !closes); + // Should hide for touch events on the tooltip. + ShowImmediately(); + ASSERT_TRUE(TooltipIsVisible()); + generator.set_current_location(GetTooltipWindow()->bounds().CenterPoint()); + generator.PressTouch(); + EXPECT_EQ(TooltipIsVisible(), !closes); + + // Should hide for gestures outside the shelf. + ShowImmediately(); + ASSERT_TRUE(TooltipIsVisible()); generator.GestureTapDownAndUp(gfx::Point()); - EXPECT_TRUE(TooltipIsVisible()); + EXPECT_EQ(TooltipIsVisible(), !closes); } -TEST_F(ShelfTooltipManagerTest, DoNotHideForEvents) { +TEST_F(ShelfTooltipManagerTest, DoNotHideForKeyEvents) { ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); + // Should not hide for key events. ShowImmediately(); ASSERT_TRUE(TooltipIsVisible()); - - // Should not hide for key events. generator.PressKey(ui::VKEY_A, ui::EF_NONE); EXPECT_TRUE(TooltipIsVisible()); - - // Should not hide for touch events on the tooltip. - generator.set_current_location(GetTooltipWindow()->bounds().CenterPoint()); - generator.PressTouch(); - EXPECT_TRUE(TooltipIsVisible()); } } // namespace test |