Index: ash/wm/user_activity_detector_unittest.cc |
diff --git a/ash/wm/user_activity_detector_unittest.cc b/ash/wm/user_activity_detector_unittest.cc |
index e0108d44c720524274b672c5f2911c3a393594fc..6c88660cce59775ee69e74606181d4bee799c345 100644 |
--- a/ash/wm/user_activity_detector_unittest.cc |
+++ b/ash/wm/user_activity_detector_unittest.cc |
@@ -97,8 +97,8 @@ TEST_F(UserActivityDetectorTest, Basic) { |
EXPECT_EQ(1, observer_->num_invocations()); |
observer_->reset_stats(); |
- base::TimeDelta advance_delta = |
- base::TimeDelta::FromSeconds(UserActivityDetector::kNotifyIntervalMs); |
+ base::TimeDelta advance_delta = base::TimeDelta::FromMilliseconds( |
+ UserActivityDetector::kNotifyIntervalMs); |
AdvanceTime(advance_delta); |
ui::MouseEvent mouse_event( |
ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), ui::EF_NONE); |
@@ -108,14 +108,29 @@ TEST_F(UserActivityDetectorTest, Basic) { |
EXPECT_EQ(1, observer_->num_invocations()); |
observer_->reset_stats(); |
- // Ignore one mouse event when all displays are turned off. |
- detector_->OnAllOutputsTurnedOff(); |
- AdvanceTime(advance_delta); |
+ // Temporarily ignore mouse events when displays are turned on or off. |
+ detector_->OnDisplayPowerChanging(); |
+ detector_->OnMouseEvent(&mouse_event); |
+ EXPECT_FALSE(mouse_event.handled()); |
+ EXPECT_EQ(0, observer_->num_invocations()); |
+ observer_->reset_stats(); |
+ |
+ const base::TimeDelta kIgnoreMouseTime = |
+ base::TimeDelta::FromMilliseconds( |
+ UserActivityDetector::kDisplayPowerChangeIgnoreMouseMs); |
+ AdvanceTime(kIgnoreMouseTime / 2); |
detector_->OnMouseEvent(&mouse_event); |
EXPECT_FALSE(mouse_event.handled()); |
EXPECT_EQ(0, observer_->num_invocations()); |
observer_->reset_stats(); |
+ // After enough time has passed, mouse events should be reported again. |
+ AdvanceTime(std::max(kIgnoreMouseTime, advance_delta)); |
+ detector_->OnMouseEvent(&mouse_event); |
+ EXPECT_FALSE(mouse_event.handled()); |
+ EXPECT_EQ(1, observer_->num_invocations()); |
+ observer_->reset_stats(); |
+ |
AdvanceTime(advance_delta); |
ui::TouchEvent touch_event( |
ui::ET_TOUCH_PRESSED, gfx::Point(), 0, base::TimeDelta()); |