diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2021-06-22 19:48:02 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2021-07-01 13:25:56 +0200 |
commit | 79d0517a123af3195f2e8c4d99964ed91bf8c0ee (patch) | |
tree | 99ed7e7128dfd332e8349d4ea7a921bb0bc4dbd1 /tests/auto/qml/qmlbasicapp | |
parent | 37540467ca516c3732bd276f49e27db824b4ea0b (diff) |
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 <max.goldstein@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlbasicapp')
-rw-r--r-- | tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
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); } } |