From 51b9d7545835cb16dc38a0ce5d213ffb75970293 Mon Sep 17 00:00:00 2001
From: EndrII <EndrIIMail@gmail.com>
Date: Sun, 5 Nov 2023 11:24:37 +0100
Subject: [PATCH] fix #780 added support qt 6.6

---
 submodules/QuasarAppLib                 |  2 +-
 tests/modules/modulesqt6_6.cpp          | 92 +++++++++++++++++++++++++
 tests/modules/modulesqt6_6.h            | 24 +++++++
 tests/tstMain.cpp                       |  2 +-
 tests/units/linux/qmlfiledialogtest.cpp | 17 ++++-
 tests/units/modules.h                   |  5 +-
 6 files changed, 138 insertions(+), 4 deletions(-)
 create mode 100644 tests/modules/modulesqt6_6.cpp
 create mode 100644 tests/modules/modulesqt6_6.h

diff --git a/submodules/QuasarAppLib b/submodules/QuasarAppLib
index 334e209..3b797f9 160000
--- a/submodules/QuasarAppLib
+++ b/submodules/QuasarAppLib
@@ -1 +1 @@
-Subproject commit 334e209ff4ba23bf50927c6bbeb8993fe13f9f03
+Subproject commit 3b797f9a7883bec4083dc8abf6159b0146f313d3
diff --git a/tests/modules/modulesqt6_6.cpp b/tests/modules/modulesqt6_6.cpp
new file mode 100644
index 0000000..1ad399a
--- /dev/null
+++ b/tests/modules/modulesqt6_6.cpp
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2023-2023 QuasarApp.
+ * Distributed under the lgplv3 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 "modulesqt6_6.h"
+
+ModulesQt6_6::ModulesQt6_6()
+{
+
+}
+
+QSet<QString> ModulesQt6_6::qmlLibs(const QString &distDir) const {
+    TestUtils utils;
+    auto Tree = ModulesQt6_5::qmlLibs(distDir);
+
+#ifdef Q_OS_WIN
+
+#else
+
+#endif
+
+    return Tree;
+}
+
+QSet<QString> ModulesQt6_6::qmlVirtualKeyBoadrLibs(const QString &distDir) const {
+
+    TestUtils utils;
+
+    auto Tree = ModulesQt6_5::qmlVirtualKeyBoadrLibs(distDir);
+    return Tree;
+}
+
+QSet<QString> ModulesQt6_6::qtWebEngine(const QString &distDir) const
+{
+    TestUtils utils;
+
+    auto Tree = ModulesQt6_5::qtWebEngine(distDir);
+
+#ifdef Q_OS_WIN
+    Tree += utils.createTree(
+        {
+            "./" + distDir + "/resources/v8_context_snapshot.bin"
+
+        }
+        );
+#else
+    Tree += utils.createTree(
+        {
+            "./" + distDir + "/resources/v8_context_snapshot.bin",
+            "./" + distDir + "/lib/libQt6WebChannelQuick.so",
+            "./" + distDir + "/qml/QtWebChannel/libwebchannelplugin.so",
+            "./" + distDir + "/qml/QtWebChannel/libwebchannelquickplugin.so",
+
+        }
+        );
+#endif
+
+    return Tree;
+}
+
+QSet<QString> ModulesQt6_6::qtLibs(const QString &distDir) const {
+    auto Tree = ModulesQt6_5::qtLibs(distDir);
+    TestUtils utils;
+
+
+    return Tree;
+}
+
+QSet<QString> ModulesQt6_6::qtWebEngineWidgets(const QString &distDir) const
+{
+    TestUtils utils;
+
+    auto Tree = ModulesQt6_5::qtWebEngineWidgets(distDir);
+#ifdef Q_OS_WIN
+    Tree += utils.createTree(
+        {
+            "./" + distDir + "/resources/v8_context_snapshot.bin"
+
+        }
+        );
+#else
+    Tree += utils.createTree(
+        {
+            "./" + distDir + "/resources/v8_context_snapshot.bin"
+        }
+        );
+#endif
+    return Tree;
+}
diff --git a/tests/modules/modulesqt6_6.h b/tests/modules/modulesqt6_6.h
new file mode 100644
index 0000000..5cfe656
--- /dev/null
+++ b/tests/modules/modulesqt6_6.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2023-2023 QuasarApp.
+ * Distributed under the lgplv3 software license, see the accompanying
+ * Everyone is permitted to copy and distribute verbatim copies
+ * of this license document, but changing it is not allowed.
+ */
+
+#ifndef MODULESQT6_6_H
+#define MODULESQT6_6_H
+
+#include "modulesqt6_5.h"
+
+class ModulesQt6_6: public ModulesQt6_5
+{
+public:
+    ModulesQt6_6();
+    QSet<QString> qmlLibs(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> qmlVirtualKeyBoadrLibs(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> qtWebEngine(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> qtWebEngineWidgets(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> qtLibs(const QString &distDir = DISTRO_DIR) const override;
+};
+
+#endif // MODULESQT6_5_H
diff --git a/tests/tstMain.cpp b/tests/tstMain.cpp
index e4df385..4c8fd17 100644
--- a/tests/tstMain.cpp
+++ b/tests/tstMain.cpp
@@ -159,8 +159,8 @@ private slots:
         TestCase(ziparrchivetest, ZIPArchiveTest )
         TestCase(zipmultitest, ZIPMultiTest )
         TestCase(ziptest, ZIPTest )
-        TestCase(systemLibTest, SystemLibTest)
         TestCase(qmlfiledialogtest, QmlFileDialogTest)
+        TestCase(systemLibTest, SystemLibTest)
 
 
 #endif
diff --git a/tests/units/linux/qmlfiledialogtest.cpp b/tests/units/linux/qmlfiledialogtest.cpp
index de4cf0f..b134f5b 100644
--- a/tests/units/linux/qmlfiledialogtest.cpp
+++ b/tests/units/linux/qmlfiledialogtest.cpp
@@ -36,10 +36,25 @@ void QmlFileDialogTest::test() {
             "./" + DISTRO_DIR + "/qml/QtCore/qmldir",
             "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/libqtquickdialogsplugin.so",
             "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/plugins.qmltypes",
-            "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/qmldir"
+            "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/qmldir",
         }
         );
 
+#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
+    compareTree += utils.createTree(
+        {
+            "./" + DISTRO_DIR + "/lib/libQt6QuickLayouts.so",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/quickimpl/libqtquickdialogs2quickimplplugin.so",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/quickimpl/plugins.qmltypes",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Dialogs/quickimpl/qmldir",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Layouts/libqquicklayoutsplugin.so",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Layouts/plugins.qmltypes",
+            "./" + DISTRO_DIR + "/qml/QtQuick/Layouts/qmldir"
+
+        }
+        );
+#endif
+
     auto bin = TestBinDir + "QMLFileDialog";
 
     runTestParams({"-bin", bin, "clear" ,
diff --git a/tests/units/modules.h b/tests/units/modules.h
index d0eabc3..05919e1 100644
--- a/tests/units/modules.h
+++ b/tests/units/modules.h
@@ -11,7 +11,10 @@
 #include <configparser.h>
 #include <QSet>
 
-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
+    #include "modulesqt6_6.h"
+    class Modules: public ModulesQt6_6
+#elif QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
     #include "modulesqt6_5.h"
     class Modules: public ModulesQt6_5