diff --git a/tests/auto/wayland/xdgshell/tst_xdgshell.cpp b/tests/auto/wayland/xdgshell/tst_xdgshell.cpp index 1dc57e28050..a14f103219c 100644 --- a/tests/auto/wayland/xdgshell/tst_xdgshell.cpp +++ b/tests/auto/wayland/xdgshell/tst_xdgshell.cpp @@ -111,11 +111,30 @@ void tst_xdgshell::configureSize() const QSize configureSize(60, 40); + int pendingSerial; exec([&] { xdgToplevel()->sendCompleteConfigure(configureSize); + pendingSerial = xdgSurface()->m_pendingConfigureSerials.last(); }); QTRY_COMPARE(configureSpy.size(), 1); + QCOMPARE(configureSpy.last()[0].toInt(), pendingSerial); + + exec([&] { + Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; + QVERIFY(buffer); + QCOMPARE(buffer->size(), configureSize); + }); + + // clients should always respond with a new ack configure + commit + // even if nothing changed + exec([&] { + xdgToplevel()->sendCompleteConfigure(configureSize); + pendingSerial = xdgSurface()->m_pendingConfigureSerials.last(); + }); + + QTRY_COMPARE(configureSpy.size(), 2); + QCOMPARE(configureSpy.last()[0].toInt(), pendingSerial); exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer;