31 lines
1.0 KiB
C++
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"
|