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"