summaryrefslogtreecommitdiff
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2013-03-07 22:28:06 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2013-03-07 22:28:06 +0100
commit5fdc9615284be7390267313b2a4bfe777aebf433 (patch)
tree3471925215a82c8f03261a9b3374b80520aeaaac
parent1dc0002c00885d30cb5285fb42386cf4bd3ad307 (diff)
TestSessionView: added buttons interactions tests
(bzr r3144.4.82)
-rw-r--r--tests/test_session_view.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test_session_view.cpp b/tests/test_session_view.cpp
index c52179ad5..641b8d888 100644
--- a/tests/test_session_view.cpp
+++ b/tests/test_session_view.cpp
@@ -194,6 +194,7 @@ TEST_F(TestSessionView, ButtonsActivateRequestsHide)
view.request_hide.connect([&request_hide] { request_hide = true; });
auto button = view.GetButtonByLabel("Lock");
+ ASSERT_NE(button, nullptr);
button->activated.emit();
EXPECT_TRUE(request_hide);
@@ -202,12 +203,73 @@ TEST_F(TestSessionView, ButtonsActivateRequestsHide)
TEST_F(TestSessionView, ButtonsActivateDeselectButton)
{
auto button = view.GetButtonByLabel("Lock");
+ ASSERT_NE(button, nullptr);
button->highlighted = true;
button->activated.emit();
EXPECT_FALSE(button->highlighted());
}
+TEST_F(TestSessionView, LockButtonActivateLocks)
+{
+ EXPECT_CALL(*manager, LockScreen());
+ auto button = view.GetButtonByLabel("Lock");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
+
+TEST_F(TestSessionView, LogoutButtonActivateLogouts)
+{
+ view.mode = View::Mode::LOGOUT;
+ EXPECT_CALL(*manager, Logout());
+ auto button = view.GetButtonByLabel("Logout");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
+
+TEST_F(TestSessionView, SuspendButtonActivateSuspends)
+{
+ ON_CALL(*manager, CanSuspend()).WillByDefault(testing::Return(true));
+ view.mode.changed.emit(View::Mode::FULL);
+
+ EXPECT_CALL(*manager, Suspend());
+ auto button = view.GetButtonByLabel("Suspend");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
+
+TEST_F(TestSessionView, HibernateButtonActivateHibernates)
+{
+ ON_CALL(*manager, CanHibernate()).WillByDefault(testing::Return(true));
+ view.mode.changed.emit(View::Mode::FULL);
+
+ EXPECT_CALL(*manager, Hibernate());
+ auto button = view.GetButtonByLabel("Hibernate");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
+
+TEST_F(TestSessionView, ShutdownButtonActivateShutsdown)
+{
+ ON_CALL(*manager, CanShutdown()).WillByDefault(testing::Return(true));
+ view.mode = View::Mode::SHUTDOWN;
+
+ EXPECT_CALL(*manager, Shutdown());
+ auto button = view.GetButtonByLabel("Shutdown");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
+
+TEST_F(TestSessionView, RebootButtonActivateReboots)
+{
+ ON_CALL(*manager, CanShutdown()).WillByDefault(testing::Return(true));
+ view.mode = View::Mode::SHUTDOWN;
+
+ EXPECT_CALL(*manager, Reboot());
+ auto button = view.GetButtonByLabel("Restart");
+ ASSERT_NE(button, nullptr);
+ button->activated.emit();
+}
} // session
} // unity \ No newline at end of file