Files
fedora-tools/fedora-tools-settings/tests/test-qmlresource.cpp
T

31 lines
1.0 KiB
C++

// 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"