Changeset View
Changeset View
Standalone View
Standalone View
kdevplatform/shell/tests/test_plugincontroller.cpp
Show All 13 Lines | |||||
14 | * You should have received a copy of the GNU Library General Public * | 14 | * You should have received a copy of the GNU Library General Public * | ||
15 | * License along with this program; if not, write to the * | 15 | * License along with this program; if not, write to the * | ||
16 | * Free Software Foundation, Inc., * | 16 | * Free Software Foundation, Inc., * | ||
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * | 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * | ||
18 | ***************************************************************************/ | 18 | ***************************************************************************/ | ||
19 | 19 | | |||
20 | #include "test_plugincontroller.h" | 20 | #include "test_plugincontroller.h" | ||
21 | 21 | | |||
22 | #include "nonguiinterfaceplugin.h" | | |||
23 | #include "testfilepaths.h" | 22 | #include "testfilepaths.h" | ||
23 | #include "plugins/nonguiinterface.h" | ||||
24 | 24 | | |||
25 | #include <QSignalSpy> | 25 | #include <QSignalSpy> | ||
26 | #include <QTest> | 26 | #include <QTest> | ||
27 | 27 | | |||
28 | #include <tests/autotestshell.h> | 28 | #include <tests/autotestshell.h> | ||
29 | #include <tests/testcore.h> | 29 | #include <tests/testcore.h> | ||
30 | 30 | | |||
31 | #include "../core.h" | 31 | #include "../core.h" | ||
32 | #include "../plugincontroller.h" | 32 | #include "../plugincontroller.h" | ||
33 | 33 | | |||
34 | using namespace KDevelop; | 34 | using namespace KDevelop; | ||
35 | 35 | | |||
36 | void TestPluginController::initTestCase() | 36 | void TestPluginController::initTestCase() | ||
37 | { | 37 | { | ||
38 | qApp->addLibraryPath(QStringLiteral(TEST_PLUGIN_DIR)); | 38 | qApp->addLibraryPath(QStringLiteral(TEST_PLUGIN_DIR)); | ||
39 | 39 | | |||
40 | AutoTestShell::init({QStringLiteral("kdevnonguiinterface")}); | 40 | AutoTestShell::init({QStringLiteral("test_nonguiinterface")}); | ||
41 | TestCore::initialize( Core::NoUi ); | 41 | TestCore::initialize( Core::NoUi ); | ||
42 | m_pluginCtrl = Core::self()->pluginControllerInternal(); | 42 | m_pluginCtrl = Core::self()->pluginControllerInternal(); | ||
43 | } | 43 | } | ||
44 | 44 | | |||
45 | void TestPluginController::cleanupTestCase() | 45 | void TestPluginController::cleanupTestCase() | ||
46 | { | 46 | { | ||
47 | TestCore::shutdown(); | 47 | TestCore::shutdown(); | ||
48 | } | 48 | } | ||
49 | 49 | | |||
50 | void TestPluginController::init() | 50 | void TestPluginController::init() | ||
51 | { | 51 | { | ||
52 | } | 52 | } | ||
53 | 53 | | |||
54 | void TestPluginController::cleanup() | 54 | void TestPluginController::cleanup() | ||
55 | { | 55 | { | ||
56 | } | 56 | } | ||
57 | 57 | | |||
58 | void TestPluginController::pluginInfo() | 58 | void TestPluginController::pluginInfo() | ||
59 | { | 59 | { | ||
60 | IPlugin* plugin = m_pluginCtrl->loadPlugin( QStringLiteral("kdevnonguiinterface") ); | 60 | IPlugin* plugin = m_pluginCtrl->loadPlugin(QStringLiteral("test_nonguiinterface")); | ||
61 | QVERIFY(plugin); | 61 | QVERIFY(plugin); | ||
62 | KPluginMetaData pluginInfo = m_pluginCtrl->pluginInfo(plugin); | 62 | KPluginMetaData pluginInfo = m_pluginCtrl->pluginInfo(plugin); | ||
63 | QCOMPARE(pluginInfo.pluginId(), QStringLiteral("kdevnonguiinterface")); | 63 | QCOMPARE(pluginInfo.pluginId(), QStringLiteral("test_nonguiinterface")); | ||
64 | } | 64 | } | ||
65 | 65 | | |||
66 | void TestPluginController::loadUnloadPlugin() | 66 | void TestPluginController::loadUnloadPlugin() | ||
67 | { | 67 | { | ||
68 | QSignalSpy spy(m_pluginCtrl, SIGNAL(pluginLoaded(KDevelop::IPlugin*))); | 68 | QSignalSpy spy(m_pluginCtrl, SIGNAL(pluginLoaded(KDevelop::IPlugin*))); | ||
69 | QSignalSpy spyloading(m_pluginCtrl, SIGNAL(loadingPlugin(QString))); | 69 | QSignalSpy spyloading(m_pluginCtrl, SIGNAL(loadingPlugin(QString))); | ||
70 | QVERIFY(spy.isValid()); | 70 | QVERIFY(spy.isValid()); | ||
71 | QVERIFY(spyloading.isValid()); | 71 | QVERIFY(spyloading.isValid()); | ||
72 | m_pluginCtrl->loadPlugin( QStringLiteral( "kdevnonguiinterface" ) ); | 72 | m_pluginCtrl->loadPlugin(QStringLiteral("test_nonguiinterface")); | ||
73 | QVERIFY( m_pluginCtrl->plugin( QStringLiteral( "kdevnonguiinterface" ) ) ); | 73 | QVERIFY( m_pluginCtrl->plugin(QStringLiteral("test_nonguiinterface")) ); | ||
74 | 74 | | |||
75 | QCOMPARE(spy.size(), 1); | 75 | QCOMPARE(spy.size(), 1); | ||
76 | QCOMPARE(spyloading.size(), 1); | 76 | QCOMPARE(spyloading.size(), 1); | ||
77 | 77 | | |||
78 | QList<QVariant> args = spyloading.takeFirst(); | 78 | QList<QVariant> args = spyloading.takeFirst(); | ||
79 | QCOMPARE( args.at(0).toString(), QStringLiteral( "kdevnonguiinterface" ) ); | 79 | QCOMPARE( args.at(0).toString(), QStringLiteral("test_nonguiinterface") ); | ||
80 | 80 | | |||
81 | QSignalSpy spy2(m_pluginCtrl, SIGNAL(pluginUnloaded(KDevelop::IPlugin*)) ); | 81 | QSignalSpy spy2(m_pluginCtrl, SIGNAL(pluginUnloaded(KDevelop::IPlugin*)) ); | ||
82 | QSignalSpy spy3(m_pluginCtrl, SIGNAL(unloadingPlugin(KDevelop::IPlugin*)) ); | 82 | QSignalSpy spy3(m_pluginCtrl, SIGNAL(unloadingPlugin(KDevelop::IPlugin*)) ); | ||
83 | QVERIFY(spy2.isValid()); | 83 | QVERIFY(spy2.isValid()); | ||
84 | QVERIFY(spy3.isValid()); | 84 | QVERIFY(spy3.isValid()); | ||
85 | m_pluginCtrl->unloadPlugin( QStringLiteral("kdevnonguiinterface") ); | 85 | m_pluginCtrl->unloadPlugin(QStringLiteral("test_nonguiinterface")); | ||
86 | QVERIFY( !m_pluginCtrl->plugin( QStringLiteral( "kdevnonguiinterface" ) ) ); | 86 | QVERIFY( !m_pluginCtrl->plugin(QStringLiteral("test_nonguiinterface")) ); | ||
87 | 87 | | |||
88 | QCOMPARE(spy2.size(), 1); | 88 | QCOMPARE(spy2.size(), 1); | ||
89 | QCOMPARE(spy3.size(), 1); | 89 | QCOMPARE(spy3.size(), 1); | ||
90 | } | 90 | } | ||
91 | 91 | | |||
92 | void TestPluginController::loadFromExtension() | 92 | void TestPluginController::loadFromExtension() | ||
93 | { | 93 | { | ||
94 | IPlugin* plugin = m_pluginCtrl->pluginForExtension( QStringLiteral("org.kdevelop.ITestNonGuiInterface") ); | 94 | IPlugin* plugin = m_pluginCtrl->pluginForExtension( QStringLiteral("org.kdevelop.ITestNonGuiInterface") ); | ||
Show All 14 Lines |