File indexing completed on 2024-05-05 03:53:25

0001 /*
0002     SPDX-FileCopyrightText: 2022 Nicolas Fella <nicolas.fella@gmx.de>
0003     SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0004 */
0005 
0006 #include <KCModuleLoader>
0007 
0008 #include <QObject>
0009 #include <QQmlEngine>
0010 #include <QTest>
0011 
0012 class KCMTest : public QObject
0013 {
0014     Q_OBJECT
0015 private Q_SLOTS:
0016     void testLoadQmlPlugin()
0017     {
0018         auto mod = KCModuleLoader::loadModule(KPluginMetaData(QStringLiteral("plasma/kcms/systemsettings/kcm_testqml")));
0019         QVERIFY(mod);
0020         QCOMPARE(mod->metaObject()->className(), "KCModuleQml");
0021     }
0022 
0023     void testFallbackKCM()
0024     {
0025         auto modFail = KCModuleLoader::loadModule(KPluginMetaData(QStringLiteral("nonexistent_kcm")));
0026         QVERIFY(modFail);
0027         QCOMPARE(modFail->metaObject()->className(), "KCMError");
0028     }
0029 };
0030 
0031 QTEST_MAIN(KCMTest)
0032 #include "kcmloadtest.moc"