From 62e24c5504961f6003cb0d8385015fc77bbc7db0 Mon Sep 17 00:00:00 2001 From: Alexander Akimov Date: Mon, 13 Feb 2012 12:14:28 +0200 Subject: [PATCH] fixing unit tests --- src/plugins/password/passwordplugin.cpp | 11 +++++++++-- src/plugins/password/passwordplugin.h | 4 ++++ tests/passwordplugintest/passwordplugintest.cpp | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/plugins/password/passwordplugin.cpp b/src/plugins/password/passwordplugin.cpp index e83e7a5..c21d1cc 100644 --- a/src/plugins/password/passwordplugin.cpp +++ b/src/plugins/password/passwordplugin.cpp @@ -25,6 +25,7 @@ using namespace SignOn; static bool isProcessing = false; +static bool isUnitTesting = false; namespace PasswordPluginNS { @@ -116,7 +117,7 @@ namespace PasswordPluginNS { void PasswordPlugin::replyError(const Error &err) { - if (isProcessing) { + if (isProcessing || isUnitTesting) { TRACE() << "Error Emitted"; emit error(err); isProcessing = false; @@ -125,12 +126,18 @@ namespace PasswordPluginNS { void PasswordPlugin::replyResult(const SessionData &data) { - if (isProcessing) { + if (isProcessing || isUnitTesting) { TRACE() << "Result Emitted"; emit result(data); isProcessing = false; } } + void PasswordPlugin::setupForUnitTests() + { + isUnitTesting = true; + } + + SIGNON_DECL_AUTH_PLUGIN(PasswordPlugin) } //namespace PasswordPluginNS diff --git a/src/plugins/password/passwordplugin.h b/src/plugins/password/passwordplugin.h index 5657c4e..2cd411c 100644 --- a/src/plugins/password/passwordplugin.h +++ b/src/plugins/password/passwordplugin.h @@ -28,6 +28,7 @@ #include "SignOn/uisessiondata.h" #include "SignOn/authpluginif.h" +class PasswordPluginTest; namespace PasswordPluginNS { /*! @@ -40,6 +41,7 @@ class PasswordPlugin : public AuthPluginInterface { Q_OBJECT Q_INTERFACES(AuthPluginInterface) + friend class ::PasswordPluginTest; public: PasswordPlugin(QObject *parent = 0); @@ -56,6 +58,8 @@ public Q_SLOTS: private: void replyError(const SignOn::Error &err); void replyResult(const SignOn::SessionData &data); + + void setupForUnitTests(); }; } //namespace PasswordPluginNS diff --git a/tests/passwordplugintest/passwordplugintest.cpp b/tests/passwordplugintest/passwordplugintest.cpp index 9246a35..ca6fe27 100644 --- a/tests/passwordplugintest/passwordplugintest.cpp +++ b/tests/passwordplugintest/passwordplugintest.cpp @@ -55,6 +55,7 @@ void PasswordPluginTest::cleanupTestCase() void PasswordPluginTest::init() { m_testPlugin = new PasswordPlugin(); + m_testPlugin->setupForUnitTests(); } //finnish each test by deleting plugin @@ -179,6 +180,8 @@ void PasswordPluginTest::testPluginProcess() void PasswordPluginTest::testPluginUserActionFinished() { +// QSKIP("Plugin can not emit anything if it in not in processing mode", SkipSingle); + TEST_START SignOn::UiSessionData info; -- 2.1.4