From 79d0517a123af3195f2e8c4d99964ed91bf8c0ee Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Tue, 22 Jun 2021 19:48:02 +0200 Subject: CMake: Always add the qmldir to the resource file system We want to be able to load modules directly from the resource file system, no matter if we build statically or dynamically. It's limited by the need to load plugins, of course, but as most plugins are optional an application can easily go this way and never include any plain QML files in an application bundle. Pick-to: 6.2 Change-Id: I94657a43b47e442722a83e1fb306680aa50b1bc3 Reviewed-by: Maximilian Goldstein --- tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/auto/qml/qmlbasicapp') diff --git a/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp b/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp index c58cc4a863..624cf913cd 100644 --- a/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp +++ b/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp @@ -62,23 +62,32 @@ void tst_basicapp::loadComponent() void tst_basicapp::resourceFiles() { QVERIFY(QFile::exists(QStringLiteral(":/BasicApp/main.qml"))); + QVERIFY(QFile::exists(QStringLiteral(":/BasicApp/qmldir"))); QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/Clock.qml"))); QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/center.png"))); QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/clock.png"))); QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/hour.png"))); QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/minute.png"))); + QVERIFY(QFile::exists(QStringLiteral(":/TimeExample/qmldir"))); + + QVERIFY(!QFile::exists(QStringLiteral(":/BasicApp/tst_qmlbasicapp.qmltypes"))); + QVERIFY(!QFile::exists(QStringLiteral(":/TimeExample/qmlqtimeexample.qmltypes"))); } void tst_basicapp::fileSystemFiles() { const QString basedir = QCoreApplication::applicationDirPath(); QVERIFY(QFile::exists(basedir + QStringLiteral("/main.qml"))); + QVERIFY(QFile::exists(basedir + QStringLiteral("/qmldir"))); + QVERIFY(QFile::exists(basedir + QStringLiteral("/tst_qmlbasicapp.qmltypes"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/Clock.qml"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/center.png"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/clock.png"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/hour.png"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/minute.png"))); + QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/qmldir"))); + QVERIFY(QFile::exists(basedir + QStringLiteral("/TimeExample/qmlqtimeexample.qmltypes"))); } void tst_basicapp::qmldirContents() @@ -92,6 +101,10 @@ void tst_basicapp::qmldirContents() QVERIFY(contents.contains("prefer :/BasicApp/")); QVERIFY(!contents.contains("classname")); QVERIFY(!contents.contains("plugin")); + + QFile qmldirInResources(":/BasicApp/qmldir"); + QVERIFY(qmldirInResources.open(QIODevice::ReadOnly)); + QCOMPARE(qmldirInResources.readAll(), contents); } { @@ -105,6 +118,10 @@ void tst_basicapp::qmldirContents() QVERIFY(contents.contains("depends QtQml")); QVERIFY(contents.contains("prefer :/TimeExample/")); QVERIFY(contents.contains("Clock 1.0 Clock.qml")); + + QFile qmldirInResources(":/TimeExample/qmldir"); + QVERIFY(qmldirInResources.open(QIODevice::ReadOnly)); + QCOMPARE(qmldirInResources.readAll(), contents); } } -- cgit v1.2.3