Tests for Plasma::PluginLoader
This commit is contained in:
parent
452d39a98e
commit
58a2a8d6bb
@ -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
|
||||
)
|
||||
|
57
src/plasma/autotests/pluginloadertest.cpp
Normal file
57
src/plasma/autotests/pluginloadertest.cpp
Normal 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"
|
||||
|
38
src/plasma/autotests/pluginloadertest.h
Normal file
38
src/plasma/autotests/pluginloadertest.h
Normal 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
|
@ -26,6 +26,7 @@
|
||||
#include <kservicetypetrader.h>
|
||||
#include <kglobal.h>
|
||||
#include <kplugininfo.h>
|
||||
#include <kplugintrader.h>
|
||||
|
||||
#include "config-plasma.h"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user