summaryrefslogtreecommitdiff
path: root/tests
diff options
authorhandsome_feng <445865575@qq.com>2016-02-09 12:21:08 +0000
committerCI Train Bot <ci-train-bot@canonical.com>2016-02-09 12:21:08 +0000
commit088e2026bc8caf619a5502a911cb09ecc225c91a (patch)
treecc89c8e598d333f24f83e47daa5aeee1fe0a8958 /tests
parent02ff690067646b495d7a50fc66b150906375dc27 (diff)
parent2c16d53888141a602b686b65d83f728191c14282 (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.cpp32
-rw-r--r--tests/test_lockscreen_controller.cpp19
-rw-r--r--tests/test_mock_session_manager.h3
-rw-r--r--tests/test_unity_settings.cpp10
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));