Discover external tool settings and refresh cached settings UI

This commit is contained in:
ajp_anton
2026-09-07 19:47:28 +00:00
parent 93607d749f
commit ed2bb7f92c
11 changed files with 202 additions and 3 deletions
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: MIT
#include <QDateTime>
#include <QFile>
#include <QFileInfo>
#include <QLibrary>
#include <QTest>
class QmlResourceTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void packagedUiHasItsOwnCacheStamp()
{
QLibrary plugin(QString::fromUtf8(KCM_PLUGIN_PATH));
QVERIFY2(plugin.load(), qPrintable(plugin.errorString()));
QFile ui(QStringLiteral(":/kcm/kcm_fedora_tools/main.qml"));
QVERIFY(ui.open(QIODevice::ReadOnly));
const auto source = ui.readAll();
QVERIFY(source.contains("configureExternalTool"));
QVERIFY(!source.contains("configurePanelActions"));
const auto stamp = QFileInfo(ui).lastModified().toSecsSinceEpoch();
QVERIFY(stamp > 0);
const auto packageDate = qgetenv("SOURCE_DATE_EPOCH").toLongLong();
if (packageDate > 0) {
QVERIFY2(stamp != packageDate, "QML resources must not share the RPM changelog timestamp across revisions");
}
}
};
QTEST_GUILESS_MAIN(QmlResourceTest)
#include "test-qmlresource.moc"