Tests for Plasma::PluginLoader

This commit is contained in:
Sebastian Kügler 2013-09-12 01:31:37 +02:00
parent 452d39a98e
commit 58a2a8d6bb
4 changed files with 99 additions and 1 deletions

View File

@ -16,7 +16,8 @@ MACRO(PLASMA_UNIT_TESTS)
target_link_libraries(${_testname} ${QT_QTTEST_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
${KDE4_KIO_LIBS} plasma ${KArchive_LIBRARIES} ${KCoreAddons_LIBRARIES}
KF5::KConfigGui
KF5::KI18n)
KF5::KI18n
KF5::KService)
if(QT_QTOPENGL_FOUND)
target_link_libraries(${_testname} ${QT_QTOPENGL_LIBRARY})
endif(QT_QTOPENGL_FOUND)
@ -28,6 +29,7 @@ ENDMACRO(PLASMA_UNIT_TESTS)
PLASMA_UNIT_TESTS(
configloadertest
packagestructuretest
pluginloadertest
# plasmoidpackagetest
runnercontexttest
)

View File

@ -0,0 +1,57 @@
/******************************************************************************
* Copyright 2013 Sebastian Kügler <sebas@kde.org> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public License *
* along with this library; see the file COPYING.LIB. If not, write to *
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
*******************************************************************************/
#include "pluginloadertest.h"
#include <qtest.h>
#include <QDebug>
//#include <QJsonObject>
#include <kplugininfo.h>
//#include <kplugintrader.h>
#include <plasma/dataengine.h>
#include <plasma/pluginloader.h>
QTEST_MAIN(PluginTest)
// Switch to true in order to let tests pass, this test usually will only
// work with plugins installed, but there aren't any in plasma-framework
bool buildonly = true;
void PluginTest::listEngines()
{
KPluginInfo::List plugins = Plasma::PluginLoader::listEngineInfo();
foreach (const KPluginInfo info, plugins) {
//qDebug() << " Found DataEngine: " << info.pluginName() << info.name();
}
qDebug() << " Found " << plugins.count() << " DataEngines";
QVERIFY(plugins.count() > 0 || buildonly);
}
void PluginTest::listAppletCategories()
{
const QStringList cats = Plasma::PluginLoader::self()->listAppletCategories();
qDebug() << "Categories" << cats;
QVERIFY(cats.count() > 0 || buildonly);
}
#include "moc_pluginloadertest.cpp"

View File

@ -0,0 +1,38 @@
/******************************************************************************
* Copyright 2013 Sebastian Kügler <sebas@kde.org> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public License *
* along with this library; see the file COPYING.LIB. If not, write to *
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
*******************************************************************************/
#ifndef PLUGINTEST_H
#define PLUGINTEST_H
#include <QCoreApplication>
class PluginTest : public QObject
{
Q_OBJECT
public:
PluginTest() {}
private Q_SLOTS:
void listEngines();
void listAppletCategories();
private:
};
#endif

View File

@ -26,6 +26,7 @@
#include <kservicetypetrader.h>
#include <kglobal.h>
#include <kplugininfo.h>
#include <kplugintrader.h>
#include "config-plasma.h"