diff options
| author | Sami Jaktholm <sjakthol@outlook.com> | 2014-04-11 10:26:11 +0300 |
|---|---|---|
| committer | Sami Jaktholm <sjakthol@outlook.com> | 2014-04-11 10:26:11 +0300 |
| commit | 962c3e7bbe8e5a68aa0eed330539ca40f43ceeae (patch) | |
| tree | f7784e8f549a2ce1de72e5fa25dd4a6de8528871 /tests | |
| parent | 8e6caf4e94e382b43c5dc4720235d7acca02265f (diff) | |
Lockscreen: Give proper grabs to the shield before releasing blank_window_.
Fixes LP: #1306417 (bzr r3779.1.1)
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_lockscreen_controller.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_lockscreen_controller.cpp b/tests/test_lockscreen_controller.cpp index fa01a0a61..55add06bc 100644 --- a/tests/test_lockscreen_controller.cpp +++ b/tests/test_lockscreen_controller.cpp @@ -43,6 +43,7 @@ namespace { const unsigned ANIMATION_DURATION = 400 * 1000; // in microseconds +const unsigned BLANK_ANIMATION_DURATION = 10000 * 1000; const unsigned TICK_DURATION = 10 * 1000; } @@ -87,6 +88,7 @@ struct TestLockScreenController : Test {} using Controller::shields_; + using Controller::blank_window_; }; nux::NuxTimerTickSource tick_source; @@ -227,5 +229,26 @@ TEST_F(TestLockScreenController, UnlockScreenOnMultiMonitor) EXPECT_TRUE(controller.shields_.empty()); } +TEST_F(TestLockScreenController, ShieldHasGrabAfterBlank) +{ + + // Lock... + session_manager->lock_requested.emit(); + Utils::WaitUntilMSec([this]{ return controller.shields_.size() == 1; }); + ASSERT_EQ(1, controller.shields_.size()); + + // ...and let the screen blank. + session_manager->presence_status_changed.emit(true); + tick_source.tick(BLANK_ANIMATION_DURATION); + + ASSERT_TRUE(controller.blank_window_->GetOpacity() == 1.0); + ASSERT_TRUE(controller.blank_window_->OwnsPointerGrab()); + + // Wake the screen + dbus_manager->simulate_activity.emit(); + + EXPECT_TRUE(controller.shields_.at(0)->OwnsPointerGrab()); +} + } // lockscreen } // unity |
