diff options
| author | handsome_feng <445865575@qq.com> | 2016-02-09 12:21:08 +0000 |
|---|---|---|
| committer | CI Train Bot <ci-train-bot@canonical.com> | 2016-02-09 12:21:08 +0000 |
| commit | 088e2026bc8caf619a5502a911cb09ecc225c91a (patch) | |
| tree | cc89c8e598d333f24f83e47daa5aeee1fe0a8958 /tests | |
| parent | 02ff690067646b495d7a50fc66b150906375dc27 (diff) | |
| parent | 2c16d53888141a602b686b65d83f728191c14282 (diff) | |
Extend the lockscreen theme for kylin.
Approved by: PS Jenkins bot, Marco Trevisan (TreviƱo) (bzr r4073)
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_gnome_session_manager.cpp | 32 | ||||
| -rw-r--r-- | tests/test_lockscreen_controller.cpp | 19 | ||||
| -rw-r--r-- | tests/test_mock_session_manager.h | 3 | ||||
| -rw-r--r-- | tests/test_unity_settings.cpp | 10 |
4 files changed, 55 insertions, 9 deletions
diff --git a/tests/test_gnome_session_manager.cpp b/tests/test_gnome_session_manager.cpp index d44c3b7ec..e009ab483 100644 --- a/tests/test_gnome_session_manager.cpp +++ b/tests/test_gnome_session_manager.cpp @@ -42,6 +42,7 @@ const std::string LOGIND_SESSION_PATH = "/org/freedesktop/login1/session/id0"; const std::string CONSOLE_KIT_PATH = "/org/freedesktop/ConsoleKit/Manager"; const std::string SESSION_MANAGER_PATH = "/org/gnome/SessionManager"; const std::string SESSION_MANAGER_PRESENCE_PATH = "/org/gnome/SessionManager/Presence"; +const std::string DISPLAY_MANAGER_SEAT_PATH = "/org/freedesktop/DisplayManager/Seat0"; const std::string SESSION_OPTIONS = "com.canonical.indicator.session"; const std::string SUPPRESS_DIALOGS_KEY = "suppress-logout-restart-shutdown"; @@ -137,6 +138,13 @@ R"(<node> </node> )"; +const std::string DISPLAY_MANAGER_SEAT = +R"(<node> + <interface name="org.freedesktop.DisplayManager.Seat"> + <method name="SwitchToGreeter"/> + </interface> +</node> +)"; } struct MockGnomeSessionManager : session::GnomeManager { @@ -208,6 +216,9 @@ struct TestGnomeSessionManager : testing::Test return nullptr; }); + display_manager_seat_ = std::make_shared<DBusServer>(); + display_manager_seat_->AddObjects(introspection::DISPLAY_MANAGER_SEAT, DISPLAY_MANAGER_SEAT_PATH); + manager = std::make_shared<MockGnomeSessionManager>(); shell_proxy_ = std::make_shared<DBusProxy>(TEST_SERVER_NAME, SHELL_OBJECT_PATH, SHELL_INTERFACE); @@ -228,6 +239,7 @@ struct TestGnomeSessionManager : testing::Test Utils::WaitUntilMSec([] { return logind_->IsConnected(); }); Utils::WaitUntilMSec([] { return console_kit_->IsConnected(); }); Utils::WaitUntilMSec([] { return session_manager_->IsConnected(); }); + Utils::WaitUntilMSec([] { return display_manager_seat_->IsConnected(); }); Utils::WaitUntilMSec([] { return shell_proxy_->IsConnected();}); ASSERT_TRUE(shell_proxy_->IsConnected()); EnableInteractiveShutdown(true); @@ -277,6 +289,7 @@ struct TestGnomeSessionManager : testing::Test logind_.reset(); console_kit_.reset(); session_manager_.reset(); + display_manager_seat_.reset(); } bool SettingsAvailable() @@ -342,6 +355,7 @@ struct TestGnomeSessionManager : testing::Test static DBusServer::Ptr console_kit_; static DBusServer::Ptr logind_; static DBusServer::Ptr session_manager_; + static DBusServer::Ptr display_manager_seat_; static DBusProxy::Ptr shell_proxy_; }; @@ -350,6 +364,7 @@ DBusServer::Ptr TestGnomeSessionManager::upower_; DBusServer::Ptr TestGnomeSessionManager::console_kit_; DBusServer::Ptr TestGnomeSessionManager::logind_; DBusServer::Ptr TestGnomeSessionManager::session_manager_; +DBusServer::Ptr TestGnomeSessionManager::display_manager_seat_; DBusProxy::Ptr TestGnomeSessionManager::shell_proxy_; bool TestGnomeSessionManager::can_shutdown_; bool TestGnomeSessionManager::can_suspend_; @@ -390,6 +405,23 @@ TEST_F(TestGnomeSessionManager, HostName) EXPECT_EQ(manager->HostName(), g_get_host_name()); } +TEST_F(TestGnomeSessionManager, SwitchToGreeter) +{ + bool switch_called = false; + + display_manager_seat_->GetObjects().front()->SetMethodsCallsHandler([&] (std::string const& method, GVariant*) { + if (method == "SwitchToGreeter") + switch_called = true; + + return static_cast<GVariant*>(nullptr); + }); + + manager->SwitchToGreeter(); + + Utils::WaitUntilMSec(switch_called); + EXPECT_TRUE(switch_called); +} + TEST_F(TestGnomeSessionManager, ScreenSaverActivate) { bool signal_emitted = false; diff --git a/tests/test_lockscreen_controller.cpp b/tests/test_lockscreen_controller.cpp index d77f0a298..3fcdf520b 100644 --- a/tests/test_lockscreen_controller.cpp +++ b/tests/test_lockscreen_controller.cpp @@ -20,7 +20,7 @@ #include <gmock/gmock.h> using namespace testing; -#include "lockscreen/UserPromptView.h" +#include "lockscreen/LockScreenAbstractPromptView.h" #include "lockscreen/LockScreenController.h" #include <Nux/NuxTimerTickSource.h> @@ -51,26 +51,27 @@ const unsigned TICK_DURATION = 10 * 1000; } -struct MockShield : AbstractShield +struct MockShield : BaseShield { MockShield() - : AbstractShield(nullptr, nullptr, nullptr, nux::ObjectPtr<UserPromptView>(), 0, false) + : BaseShield(nullptr, nullptr, nullptr, nux::ObjectPtr<AbstractUserPromptView>(), 0, false) {} MOCK_CONST_METHOD0(IsIndicatorOpen, bool()); MOCK_METHOD0(ActivatePanel, void()); MOCK_CONST_METHOD0(HasGrab, bool()); + MOCK_METHOD0(ShowPrimaryView, void()); }; struct ShieldFactoryMock : ShieldFactoryInterface { - nux::ObjectPtr<AbstractShield> CreateShield(session::Manager::Ptr const&, - indicator::Indicators::Ptr const&, - Accelerators::Ptr const&, - nux::ObjectPtr<UserPromptView> const&, - int, bool) override + nux::ObjectPtr<BaseShield> CreateShield(session::Manager::Ptr const&, + indicator::Indicators::Ptr const&, + Accelerators::Ptr const&, + nux::ObjectPtr<AbstractUserPromptView> const&, + int, bool) override { - return nux::ObjectPtr<AbstractShield>(new MockShield()); + return nux::ObjectPtr<BaseShield>(new MockShield()); } }; diff --git a/tests/test_mock_session_manager.h b/tests/test_mock_session_manager.h index 7d672b0e3..7e5ebeb16 100644 --- a/tests/test_mock_session_manager.h +++ b/tests/test_mock_session_manager.h @@ -28,10 +28,12 @@ namespace session struct MockManager : Manager { typedef std::shared_ptr<MockManager> Ptr; + typedef std::function<void(std::string const&)> ReplyCallback; MOCK_CONST_METHOD0(RealName, std::string()); MOCK_CONST_METHOD0(UserName, std::string()); MOCK_CONST_METHOD0(HostName, std::string()); + MOCK_CONST_METHOD1(UserIconFile, void(ReplyCallback const&)); MOCK_METHOD0(ScreenSaverActivate, void()); MOCK_METHOD0(ScreenSaverDeactivate, void()); @@ -43,6 +45,7 @@ struct MockManager : Manager MOCK_METHOD0(Suspend, void()); MOCK_METHOD0(Hibernate, void()); MOCK_METHOD0(CancelAction, void()); + MOCK_METHOD0(SwitchToGreeter, void()); MOCK_CONST_METHOD0(CanLock, bool()); MOCK_CONST_METHOD0(CanShutdown, bool()); diff --git a/tests/test_unity_settings.cpp b/tests/test_unity_settings.cpp index 0bf07858f..f64c9c594 100644 --- a/tests/test_unity_settings.cpp +++ b/tests/test_unity_settings.cpp @@ -53,12 +53,14 @@ struct TestUnitySettings : testing::Test , sig_receiver(unity_settings) { g_settings_set_enum(gsettings, "form-factor", static_cast<int>(unity::FormFactor::DESKTOP)); + g_settings_set_enum(gsettings, "desktop-type", static_cast<int>(unity::DesktopType::UBUNTU)); } ~TestUnitySettings() { sig_receiver.notify_callbacks(); g_settings_reset(gsettings, "form-factor"); + g_settings_reset(gsettings, "desktop-type"); } }; @@ -78,6 +80,14 @@ TEST_F(TestUnitySettings, GetFormFactor) EXPECT_EQ(unity_settings->form_factor(), unity::FormFactor::NETBOOK); } +TEST_F(TestUnitySettings, GetDesktopType) +{ + ASSERT_NE(unity_settings->desktop_type(), unity::DesktopType::UBUNTUKYLIN); + + g_settings_set_enum(gsettings, "desktop-type", static_cast<int>(unity::DesktopType::UBUNTUKYLIN)); + EXPECT_EQ(unity_settings->desktop_type(), unity::DesktopType::UBUNTUKYLIN); +} + TEST_F(TestUnitySettings, FormFactorChangedSignal_Extern) { EXPECT_CALL(sig_receiver, FormFactorChanged(unity::FormFactor::NETBOOK)); |
