From a8fed20181729cae70de43079c4a34ad1780cfd7 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Mon, 19 Nov 2018 16:32:12 +0100 Subject: use new feature name xkbcommon_evdev -> xkbcommon The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Change-Id: Ic1aa26846ab8266c589f6e92dc8b81aba36df58a Reviewed-by: Johan Helsing --- tests/auto/compositor/compositor/compositor.pro | 4 ++-- tests/auto/compositor/compositor/tst_compositor.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/auto/compositor/compositor/compositor.pro b/tests/auto/compositor/compositor/compositor.pro index d69db4ca5..0ce2c6be0 100644 --- a/tests/auto/compositor/compositor/compositor.pro +++ b/tests/auto/compositor/compositor/compositor.pro @@ -7,8 +7,8 @@ QT += core-private gui-private waylandcompositor waylandcompositor-private QMAKE_USE += wayland-client wayland-server -qtConfig(xkbcommon-evdev): \ - QMAKE_USE += xkbcommon_evdev +qtConfig(xkbcommon): \ + QMAKE_USE += xkbcommon WAYLANDCLIENTSOURCES += \ ../../../../src/3rdparty/protocol/xdg-shell-unstable-v5.xml \ diff --git a/tests/auto/compositor/compositor/tst_compositor.cpp b/tests/auto/compositor/compositor/tst_compositor.cpp index 2c0e46b23..281be28bc 100644 --- a/tests/auto/compositor/compositor/tst_compositor.cpp +++ b/tests/auto/compositor/compositor/tst_compositor.cpp @@ -58,7 +58,7 @@ class tst_WaylandCompositor : public QObject private slots: void init(); void seatCapabilities(); -#if QT_CONFIG(xkbcommon_evdev) +#if QT_CONFIG(xkbcommon) void simpleKeyboard(); void keyboardKeymaps(); void keyboardLayoutSwitching(); @@ -169,7 +169,7 @@ void tst_WaylandCompositor::multipleClients() QTRY_COMPARE(compositor.surfaces.size(), 0); } -#if QT_CONFIG(xkbcommon_evdev) +#if QT_CONFIG(xkbcommon) void tst_WaylandCompositor::simpleKeyboard() { @@ -282,7 +282,7 @@ void tst_WaylandCompositor::keyboardLayoutSwitching() QTRY_COMPARE(mockKeyboard->m_lastKeyCode, 44u); } -#endif // QT_CONFIG(xkbcommon_evdev) +#endif // QT_CONFIG(xkbcommon) void tst_WaylandCompositor::keyboardGrab() { -- cgit v1.2.3 From d25b3b7f1059d5561bce3efe7ea903ea76d4e888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Thu, 6 Dec 2018 10:29:58 +0100 Subject: Fix invalid QWaylandOutputMode comparison operator Fixes: QTBUG-72288 Change-Id: I61fde92ea4275febbb4ec8c067280a4ca570d7c1 Reviewed-by: Johan Helsing --- .../auto/compositor/compositor/tst_compositor.cpp | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'tests') diff --git a/tests/auto/compositor/compositor/tst_compositor.cpp b/tests/auto/compositor/compositor/tst_compositor.cpp index 281be28bc..7fe8dfc28 100644 --- a/tests/auto/compositor/compositor/tst_compositor.cpp +++ b/tests/auto/compositor/compositor/tst_compositor.cpp @@ -72,6 +72,7 @@ private slots: void multipleClients(); void geometry(); void modes(); + void comparingModes(); void sizeFollowsWindow(); void mapSurface(); void mapSurfaceHiDpi(); @@ -373,6 +374,28 @@ void tst_WaylandCompositor::modes() QTRY_COMPARE(client.geometry, QRect(QPoint(0, 0), QSize(1920, 1080))); } +void tst_WaylandCompositor::comparingModes() +{ + QWaylandOutputMode mode1(QSize(800, 600), 120000); + QWaylandOutputMode mode2(QSize(1024, 768), 100000); + QWaylandOutputMode mode3(QSize(1024, 768), 120000); + QWaylandOutputMode mode4(QSize(800, 600), 100000); + + QCOMPARE(mode1, mode1); + QCOMPARE(mode2, mode2); + QCOMPARE(mode3, mode3); + QCOMPARE(mode4, mode4); + + for (auto mode: {mode2, mode3, mode4}) + QVERIFY(mode1 != mode); + for (auto mode: {mode1, mode3, mode4}) + QVERIFY(mode2 != mode); + for (auto mode: {mode1, mode2, mode4}) + QVERIFY(mode3 != mode); + for (auto mode: {mode1, mode2, mode2}) + QVERIFY(mode4 != mode); +} + void tst_WaylandCompositor::sizeFollowsWindow() { TestCompositor compositor; -- cgit v1.2.3 From 7f7502865f980a7d72dc04ffc5f25eecf0d414a8 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Sat, 8 Dec 2018 23:32:03 +0100 Subject: tests: minor fixup in tst_WaylandCompositor::comparingModes() This patch amends d25b3b7f1059d5561bce3efe7ea903ea76d4e888 Change-Id: I413818f6cd4a77062287265f3bcb5db6170fc4d2 Reviewed-by: Johan Helsing --- tests/auto/compositor/compositor/tst_compositor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/auto/compositor/compositor/tst_compositor.cpp b/tests/auto/compositor/compositor/tst_compositor.cpp index 7fe8dfc28..97e650d97 100644 --- a/tests/auto/compositor/compositor/tst_compositor.cpp +++ b/tests/auto/compositor/compositor/tst_compositor.cpp @@ -392,7 +392,7 @@ void tst_WaylandCompositor::comparingModes() QVERIFY(mode2 != mode); for (auto mode: {mode1, mode2, mode4}) QVERIFY(mode3 != mode); - for (auto mode: {mode1, mode2, mode2}) + for (auto mode: {mode1, mode2, mode3}) QVERIFY(mode4 != mode); } -- cgit v1.2.3 From f2dc41b5babf0a7b51a1735f290540d7be695042 Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Thu, 20 Dec 2018 11:52:12 +0100 Subject: Compositor: Fix crash in QWaylandSurface::waylandClient Adds a test for customSurface which crashed without the fix. Fixes: QTBUG-72688 Change-Id: I30c50e474379c61b90b2dd294eae9a7c88c105a2 Reviewed-by: Pier Luigi Fiorini --- .../auto/compositor/compositor/tst_compositor.cpp | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests') diff --git a/tests/auto/compositor/compositor/tst_compositor.cpp b/tests/auto/compositor/compositor/tst_compositor.cpp index 97e650d97..e12aa564e 100644 --- a/tests/auto/compositor/compositor/tst_compositor.cpp +++ b/tests/auto/compositor/compositor/tst_compositor.cpp @@ -78,6 +78,7 @@ private slots: void mapSurfaceHiDpi(); void frameCallback(); void removeOutput(); + void customSurface(); void advertisesXdgShellSupport(); void createsXdgSurfaces(); @@ -613,6 +614,32 @@ void tst_WaylandCompositor::removeOutput() QTRY_COMPARE(client.m_outputs.size(), 1); } +class CustomSurface : public QWaylandSurface { + Q_OBJECT +public: + explicit CustomSurface() = default; +}; + +void tst_WaylandCompositor::customSurface() +{ + TestCompositor compositor; + QObject::connect(&compositor, &TestCompositor::surfaceRequested, this, [&compositor] (QWaylandClient *client, uint id, int version) { + auto *s = new CustomSurface(); + QCOMPARE(s->waylandClient(), nullptr); + s->initialize(&compositor, client, id, version); + QCOMPARE(s->waylandClient(), client->client()); + }); + QObject::connect(&compositor, &TestCompositor::surfaceCreated, this, [] (QWaylandSurface *surface) { + auto *custom = qobject_cast(surface); + QVERIFY(custom != nullptr); + }); + compositor.create(); + + MockClient client; + wl_surface *surface = client.createSurface(); + QTRY_COMPARE(compositor.surfaces.size(), 1); +} + void tst_WaylandCompositor::seatCapabilities() { TestCompositor compositor; -- cgit v1.2.3