summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/client/client/tst_client.cpp1
-rw-r--r--tests/auto/client/shared/coreprotocol.cpp11
-rw-r--r--tests/auto/client/shared/coreprotocol.h3
-rw-r--r--tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp2
-rw-r--r--tests/manual/import-qml-modules/CMakeLists.txt25
-rw-r--r--tests/manual/import-qml-modules/Main.qml18
-rw-r--r--tests/manual/import-qml-modules/main.cpp19
7 files changed, 75 insertions, 4 deletions
diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp
index 253a98b73..fa4a81e19 100644
--- a/tests/auto/client/client/tst_client.cpp
+++ b/tests/auto/client/client/tst_client.cpp
@@ -465,7 +465,6 @@ void tst_WaylandClient::mouseDrag()
void tst_WaylandClient::dontCrashOnMultipleCommits()
{
- QSKIP("This test is flaky. See QTBUG-68756.");
auto window = new TestWindow();
window->show();
diff --git a/tests/auto/client/shared/coreprotocol.cpp b/tests/auto/client/shared/coreprotocol.cpp
index 833ad4b09..5d9c4e9a3 100644
--- a/tests/auto/client/shared/coreprotocol.cpp
+++ b/tests/auto/client/shared/coreprotocol.cpp
@@ -77,8 +77,10 @@ void Surface::surface_attach(Resource *resource, wl_resource *buffer, int32_t x,
m_image = QImage();
} else {
QPoint offset(x, y);
+ if (resource->version() < 5)
+ m_pending.commitSpecific.attachOffset = offset;
+
m_pending.buffer = fromResource<Buffer>(buffer);
- m_pending.commitSpecific.attachOffset = offset;
m_pending.commitSpecific.attached = true;
emit attach(buffer, offset);
@@ -143,6 +145,13 @@ void Surface::surface_frame(Resource *resource, uint32_t callback)
}
}
+void Surface::surface_offset(Resource *resource, int32_t x, int32_t y)
+{
+ Q_UNUSED(resource);
+ QPoint offset(x, y);
+ m_pending.commitSpecific.attachOffset = offset;
+}
+
bool WlCompositor::isClean() {
for (auto *surface : std::as_const(m_surfaces)) {
if (!CursorRole::fromSurface(surface)) {
diff --git a/tests/auto/client/shared/coreprotocol.h b/tests/auto/client/shared/coreprotocol.h
index 0f59441a3..bea39dd13 100644
--- a/tests/auto/client/shared/coreprotocol.h
+++ b/tests/auto/client/shared/coreprotocol.h
@@ -124,6 +124,7 @@ protected:
void surface_set_buffer_scale(Resource *resource, int32_t scale) override;
void surface_commit(Resource *resource) override;
void surface_frame(Resource *resource, uint32_t callback) override;
+ void surface_offset(Resource *resource, int32_t x, int32_t y) override;
};
class Region : public QtWaylandServer::wl_region
@@ -145,7 +146,7 @@ class WlCompositor : public Global, public QtWaylandServer::wl_compositor
{
Q_OBJECT
public:
- explicit WlCompositor(CoreCompositor *compositor, int version = 4)
+ explicit WlCompositor(CoreCompositor *compositor, int version = 6)
: QtWaylandServer::wl_compositor(compositor->m_display, version)
, m_compositor(compositor)
{}
diff --git a/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp b/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp
index 54b15b3bf..5ee856944 100644
--- a/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp
+++ b/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp
@@ -111,7 +111,7 @@ public:
explicit XdgDecorationCompositor()
{
exec([this] {
- m_config.autoConfigure = true;
+ m_config.autoConfigure = false;
add<XdgDecorationManagerV1>(xdgDecorationVersion);
});
}
diff --git a/tests/manual/import-qml-modules/CMakeLists.txt b/tests/manual/import-qml-modules/CMakeLists.txt
new file mode 100644
index 000000000..c99218203
--- /dev/null
+++ b/tests/manual/import-qml-modules/CMakeLists.txt
@@ -0,0 +1,25 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+
+project(import_wayland_qml_modules VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(Qt6 6.4 REQUIRED
+ COMPONENTS
+ Quick
+ WaylandCompositor
+ WaylandCompositorIviapplication
+ WaylandCompositorPresentationTime
+ WaylandCompositorWLShell
+ WaylandCompositorXdgShell
+)
+
+qt_standard_project_setup()
+
+qt_add_qml_module(import_wayland_qml_modules
+ URI Qml
+ QML_FILES Main.qml
+)
diff --git a/tests/manual/import-qml-modules/Main.qml b/tests/manual/import-qml-modules/Main.qml
new file mode 100644
index 000000000..07b8bc482
--- /dev/null
+++ b/tests/manual/import-qml-modules/Main.qml
@@ -0,0 +1,18 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtWayland.Compositor.IviApplication
+import QtWayland.Compositor.PresentationTime
+import QtWayland.Compositor.QtShell
+import QtWayland.Compositor.WlShell
+import QtWayland.Compositor.XdgShell
+
+
+Item {
+ property var p1: IviApplication {}
+ property var p2: PresentationTime {}
+ property var p3: QtShellChrome {}
+ property var p4: WlShellSurface {}
+ property var p5: XdgPopup {}
+}
diff --git a/tests/manual/import-qml-modules/main.cpp b/tests/manual/import-qml-modules/main.cpp
new file mode 100644
index 000000000..1b0b801ff
--- /dev/null
+++ b/tests/manual/import-qml-modules/main.cpp
@@ -0,0 +1,19 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtGui/QGuiApplication>
+#include <QtQml/QQmlApplicationEngine>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc, argv);
+
+ QQmlApplicationEngine engine;
+ const QUrl url(QStringLiteral("qrc:/Qml/Main.qml"));
+ QObject::connect(
+ &engine, &QQmlApplicationEngine::objectCreationFailed, &app,
+ []() { QCoreApplication::exit(-1); }, Qt::QueuedConnection);
+ engine.load(url);
+
+ return app.exec();
+}