summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index dc17ec653c..a75e1cb054 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -67,6 +67,7 @@ private slots:
void close();
void activateAndClose();
void mouseEventSequence();
+ void windowModality();
void initTestCase()
{
@@ -758,5 +759,36 @@ void tst_QWindow::mouseEventSequence()
QCOMPARE(window.mouseSequenceSignature, QLatin1String("prprprpr"));
}
+void tst_QWindow::windowModality()
+{
+ qRegisterMetaType<Qt::WindowModality>("Qt::WindowModality");
+
+ QWindow window;
+ QSignalSpy spy(&window, SIGNAL(windowModalityChanged(Qt::WindowModality)));
+
+ QCOMPARE(window.windowModality(), Qt::NonModal);
+ window.setWindowModality(Qt::NonModal);
+ QCOMPARE(window.windowModality(), Qt::NonModal);
+ QCOMPARE(spy.count(), 0);
+
+ window.setWindowModality(Qt::WindowModal);
+ QCOMPARE(window.windowModality(), Qt::WindowModal);
+ QCOMPARE(spy.count(), 1);
+ window.setWindowModality(Qt::WindowModal);
+ QCOMPARE(window.windowModality(), Qt::WindowModal);
+ QCOMPARE(spy.count(), 1);
+
+ window.setWindowModality(Qt::ApplicationModal);
+ QCOMPARE(window.windowModality(), Qt::ApplicationModal);
+ QCOMPARE(spy.count(), 2);
+ window.setWindowModality(Qt::ApplicationModal);
+ QCOMPARE(window.windowModality(), Qt::ApplicationModal);
+ QCOMPARE(spy.count(), 2);
+
+ window.setWindowModality(Qt::NonModal);
+ QCOMPARE(window.windowModality(), Qt::NonModal);
+ QCOMPARE(spy.count(), 3);
+}
+
#include <tst_qwindow.moc>
QTEST_MAIN(tst_QWindow)