[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
This commit is contained in:
parent
5f2e0b7299
commit
1a2c90ea12
1 changed files with 12 additions and 12 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue