summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/kernel/qwindow/tst_qwindow.cpp')
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp57
1 files changed, 57 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..b67920737e 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,8 @@ private slots:
void inputReentrancy();
void tabletEvents();
void windowModality_QTBUG27039();
+ void visibility();
+ void mask();
void initTestCase()
{
@@ -1079,6 +1082,60 @@ 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();
+}
+
+void tst_QWindow::mask()
+{
+ QRegion mask = QRect(10, 10, 800 - 20, 600 - 20);
+
+ QWindow window;
+ window.resize(800, 600);
+ window.setMask(mask);
+
+ QCOMPARE(window.mask(), QRegion());
+
+ window.create();
+ window.setMask(mask);
+
+ QCOMPARE(window.mask(), mask);
+}
+
#include <tst_qwindow.moc>
QTEST_MAIN(tst_QWindow)