// SPDX-License-Identifier: MIT #include #include #include #include #include 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"