aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edmundson <[email protected]>2018-11-16 11:59:39 +0000
committerDavid Edmundson <[email protected]>2018-11-16 11:59:39 +0000
commit1a2c90ea127066df7276c1522e3acdc592f4f010 (patch)
tree2ba08354d6b0af64eb9813388ca0d0d01752666a
parent5f2e0b72990402d2b9f7df8c79187b03fbcd3007 (diff)
[wayland] Fix ShellClientTest
Summary: When switching from maximised to full screen the geometry as kwin sees it doesn't necessarily need to change, the test is wrong. Also we can fix the XDGShell-deco tests. wlshell-deco test still fails as before. Test Plan: Tests pass \o/ Reviewers: #kwin, graesslin Reviewed By: #kwin, graesslin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D16922
-rw-r--r--autotests/integration/shell_client_test.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/autotests/integration/shell_client_test.cpp b/autotests/integration/shell_client_test.cpp
index fd4bdb9..b14ba07 100644
--- a/autotests/integration/shell_client_test.cpp
+++ b/autotests/integration/shell_client_test.cpp
@@ -701,7 +701,6 @@ void TestShellClient::testMaximizedToFullscreen()
QCOMPARE(sizeChangeRequestedSpy.last().first().toSize(), QSize(screens()->size(0)));
// TODO: should switch to fullscreen once it's updated
QVERIFY(c->isFullScreen());
- QVERIFY(geometryChangedSpy.isEmpty());
if (xdgShellSurface) {
for (const auto &it: configureRequestedSpy) {
@@ -710,8 +709,7 @@ void TestShellClient::testMaximizedToFullscreen()
}
// render at the new size
Test::render(surface.data(), sizeChangeRequestedSpy.last().first().toSize(), Qt::red);
- QVERIFY(geometryChangedSpy.wait());
- QCOMPARE(geometryChangedSpy.count(), 1);
+
QVERIFY(c->isFullScreen());
QVERIFY(!c->isDecorated());
QCOMPARE(c->geometry(), QRect(QPoint(0, 0), sizeChangeRequestedSpy.last().first().toSize()));
@@ -726,18 +724,20 @@ void TestShellClient::testMaximizedToFullscreen()
case Test::ShellSurfaceType::XdgShellV6:
case Test::ShellSurfaceType::XdgShellStable:
qobject_cast<XdgShellSurface*>(shellSurface.data())->setFullscreen(false);
- break;
- default:
- Q_UNREACHABLE();
+ qobject_cast<XdgShellSurface*>(shellSurface.data())->setMaximized(false);
break;
}
QVERIFY(fullscreenChangedSpy.wait());
- QVERIFY(sizeChangeRequestedSpy.wait());
- QCOMPARE(sizeChangeRequestedSpy.count(), 1);
- QEXPECT_FAIL("wlShell - deco", "With decoration incorrect geometry requested", Continue);
- QEXPECT_FAIL("xdgShellV5 - deco", "With decoration incorrect geometry requested", Continue);
- QEXPECT_FAIL("xdgShellV6 - deco", "With decoration incorrect geometry requested", Continue);
- QCOMPARE(sizeChangeRequestedSpy.last().first().toSize(), QSize(100, 50));
+ if (decoMode == ServerSideDecoration::Mode::Server) {
+ QVERIFY(sizeChangeRequestedSpy.wait());
+ // don't check count, XDG might legitimately get two updates
+
+ // fails as we don't correctly call setMaximize(false)
+ // but realistically the only toolkits that support the deco also use XDGShell
+ QEXPECT_FAIL("wlShell - deco", "With decoration incorrect geometry requested", Continue);
+
+ QCOMPARE(sizeChangeRequestedSpy.last().first().toSize(), QSize(100, 50));
+ }
// TODO: should switch to fullscreen once it's updated
QVERIFY(!c->isFullScreen());
QCOMPARE(c->isDecorated(), decoMode == ServerSideDecoration::Mode::Server);