diff options
Diffstat (limited to 'tests/auto/client/client')
-rw-r--r-- | tests/auto/client/client/tst_client.cpp | 16 |
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()); } |