Index: ash/shelf/shelf_tooltip_manager_unittest.cc |
diff --git a/ash/shelf/shelf_tooltip_manager_unittest.cc b/ash/shelf/shelf_tooltip_manager_unittest.cc |
index 3f2b2e884155399b0ed76938c1c737b54a04d9b1..7f6650ecb6eee268078c0726dff9af8882a8c805 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 |