File indexing completed on 2024-04-28 16:49:46
0001 /* 0002 SPDX-FileCopyrightText: 2020 David Redondo <kde@david-redondo.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #include <QObject> 0007 #include <QStandardPaths> 0008 #include <QTest> 0009 #define private public 0010 #include "cgroup.h" 0011 #define private private 0012 0013 class CGroupTest : public QObject 0014 { 0015 Q_OBJECT 0016 0017 private Q_SLOTS: 0018 void testAppUnitRegex_data() 0019 { 0020 QTest::addColumn<QString>("id"); 0021 QTest::addColumn<QString>("desktopName"); 0022 QTest::newRow("service") << "app-gnome-org.gnome.Evince@12345.service" 0023 << "org.gnome.Evince"; 0024 QTest::newRow("service .desktop") << "app-flatpak-org.telegram.desktop@12345.service" 0025 << "org.telegram.desktop"; 0026 QTest::newRow("service no launcher") << "app-org.kde.okular@12345.service" 0027 << "org.kde.okular"; 0028 QTest::newRow("service no random") << "app-KDE-org.kde.okular.service" 0029 << "org.kde.okular"; 0030 QTest::newRow("service no launcher no random") << "app-org.kde.amarok.service" 0031 << "org.kde.amarok"; 0032 QTest::newRow("scope") << "app-gnome-org.gnome.Evince-12345.scope" 0033 << "org.gnome.Evince"; 0034 QTest::newRow("scope no launcher") << "app-org.gnome.Evince-12345.scope" 0035 << "org.gnome.Evince"; 0036 } 0037 0038 void testAppUnitRegex() 0039 { 0040 QFETCH(QString, id); 0041 QFETCH(QString, desktopName); 0042 KSysGuard::CGroup c(id); 0043 if (c.service()->menuId().isEmpty()) { 0044 // The service is not known on this machine and we constructed a service with the id as name 0045 QCOMPARE(c.service()->name(), desktopName); 0046 } else { 0047 QCOMPARE(c.service()->desktopEntryName(), desktopName.toLower()); 0048 } 0049 } 0050 0051 void findAutostartApplication() 0052 { 0053 qputenv("XDG_CONFIG_DIRS", QFINDTESTDATA("data").toLocal8Bit()); 0054 KSysGuard::CGroup cgroup("app-org.kde.korgac@autostart.service"); 0055 QCOMPARE(cgroup.service()->desktopEntryName(), "org.kde.korgac"); 0056 QCOMPARE(cgroup.service()->name(), "KOrganizer Reminder Client"); 0057 } 0058 }; 0059 QTEST_MAIN(CGroupTest); 0060 #include "cgrouptest.moc"