summaryrefslogtreecommitdiff
path: root/tests/auto/client/client
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/client/client')
-rw-r--r--tests/auto/client/client/tst_client.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp
index b4dc7513..e02aa9f8 100644
--- a/tests/auto/client/client/tst_client.cpp
+++ b/tests/auto/client/client/tst_client.cpp
@@ -138,6 +138,7 @@ public slots:
private slots:
void primaryScreen();
+ void screens();
void windowScreens();
void createDestroyWindow();
void events();
@@ -158,6 +159,17 @@ void tst_WaylandClient::primaryScreen()
QTRY_COMPARE(QGuiApplication::primaryScreen()->size(), screenSize);
}
+void tst_WaylandClient::screens()
+{
+ QTRY_COMPARE(QGuiApplication::screens().size(), 1);
+ compositor->sendAddOutput();
+ QTRY_COMPARE(QGuiApplication::screens().size(), 2);
+ QSharedPointer<MockOutput> secondOutput;
+ QTRY_VERIFY(secondOutput = compositor->output(1));
+ compositor->sendRemoveOutput(secondOutput);
+ QTRY_COMPARE(QGuiApplication::screens().size(), 1);
+}
+
void tst_WaylandClient::windowScreens()
{
QSharedPointer<MockOutput> firstOutput;
@@ -191,6 +203,10 @@ void tst_WaylandClient::windowScreens()
compositor->sendSurfaceLeave(surface, firstOutput);
QTRY_COMPARE(window.screen(), secondaryScreen);
+ compositor->sendRemoveOutput(secondOutput);
+ QTRY_COMPARE(QGuiApplication::screens().size(), 1);
+ QCOMPARE(window.screen(), primaryScreen);
+
window.destroy();
QTRY_VERIFY(!compositor->surface());
}