diff options
Diffstat (limited to 'tests/auto/gui/kernel/qwindow/tst_qwindow.cpp')
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index 30666aaf2a..02f8584f72 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -49,6 +49,7 @@ // For QSignalSpy slot connections. Q_DECLARE_METATYPE(Qt::ScreenOrientation) +Q_DECLARE_METATYPE(QWindow::Visibility) class tst_QWindow: public QObject { @@ -75,6 +76,7 @@ private slots: void inputReentrancy(); void tabletEvents(); void windowModality_QTBUG27039(); + void visibility(); void initTestCase() { @@ -1079,6 +1081,44 @@ void tst_QWindow::windowModality_QTBUG27039() QCOMPARE(modalA.mousePressedCount, 1); } +void tst_QWindow::visibility() +{ + qRegisterMetaType<Qt::WindowModality>("QWindow::Visibility"); + + QWindow window; + QSignalSpy spy(&window, SIGNAL(visibilityChanged(QWindow::Visibility))); + + window.setVisibility(QWindow::AutomaticVisibility); + QVERIFY(window.isVisible()); + QVERIFY(window.visibility() != QWindow::Hidden); + QVERIFY(window.visibility() != QWindow::AutomaticVisibility); + QCOMPARE(spy.count(), 1); + spy.clear(); + + window.setVisibility(QWindow::Hidden); + QVERIFY(!window.isVisible()); + QCOMPARE(window.visibility(), QWindow::Hidden); + QCOMPARE(spy.count(), 1); + spy.clear(); + + window.setVisibility(QWindow::FullScreen); + QVERIFY(window.isVisible()); + QCOMPARE(window.windowState(), Qt::WindowFullScreen); + QCOMPARE(window.visibility(), QWindow::FullScreen); + QCOMPARE(spy.count(), 1); + spy.clear(); + + window.setWindowState(Qt::WindowNoState); + QCOMPARE(window.visibility(), QWindow::Windowed); + QCOMPARE(spy.count(), 1); + spy.clear(); + + window.setVisible(false); + QCOMPARE(window.visibility(), QWindow::Hidden); + QCOMPARE(spy.count(), 1); + spy.clear(); +} + #include <tst_qwindow.moc> QTEST_MAIN(tst_QWindow) |