CQtDeployer/tests/units/linux/qmlscanertest.cpp

71 lines
1.8 KiB
C++
Raw Normal View History

2022-08-09 22:25:49 +03:00
//#
2023-01-04 00:48:14 +03:00
//# Copyright (C) 2020-2023 QuasarApp.
2022-08-09 22:25:49 +03:00
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
#include "qmlscanertest.h"
#include "qmlqt6.h"
2022-08-09 22:25:49 +03:00
#include <configparser.h>
#include <dependenciesscanner.h>
#include <filemanager.h>
#include <packing.h>
#include <pluginsparser.h>
void QmlScanerTest::test() {
// qt5
auto qmlRoot = QFileInfo(TestQtDir + "/qml").absoluteFilePath();
QMLQt6 scaner6(qmlRoot);
2022-08-09 22:25:49 +03:00
// qt6
QSet<QString> results = {
2022-08-09 22:25:49 +03:00
{qmlRoot + "/QtQuick"},
{qmlRoot + "/QtQuick/Controls"},
{qmlRoot + "/QtQuick/Controls/Material"},
{qmlRoot + "/QtQuick/Layouts"},
};
auto imports = scaner6.extractImportsFromFile(":/qmlFileQt6.qml");
2022-08-09 22:25:49 +03:00
QVERIFY(results.size() == imports.size());
for (const auto &import: qAsConst(imports)) {
auto path = scaner6.getPathFromImport(import);
2022-08-09 22:25:49 +03:00
QVERIFY(results.contains(path));
}
imports = scaner6.extractImportsFromFile(":/qmlFile.qml");
2022-08-09 22:25:49 +03:00
QVERIFY(results.size() == imports.size());
for (const auto & import: qAsConst(imports)) {
auto path = scaner6.getPathFromImport(import);
2022-08-09 22:25:49 +03:00
QVERIFY(results.contains(path));
}
// qt6
results = {
{qmlRoot + "/QtQuick"},
{qmlRoot + "/QtQuick/Window"},
{qmlRoot + "/QtQuick/Layouts"},
{qmlRoot + "/Qt/labs/folderlistmodel"},
{qmlRoot + "/QtQuick/VirtualKeyboard/Settings"},
{qmlRoot + "/QtQuick/VirtualKeyboard/Styles"},
};
imports = scaner6.extractImportsFromQmlModule(":/qmlDir");
2022-08-09 22:25:49 +03:00
QVERIFY(results.size() == imports.size());
for (const auto &import: qAsConst(imports)) {
auto path = scaner6.getPathFromImport(import);
2022-08-09 22:25:49 +03:00
QVERIFY(results.contains(path));
}
}