Add tst_QWindow::windowModality()

This tests that we get the windowModalityChanged() signal as needed, but
not unnecessarily either.

Change-Id: I2232fa9d45c72e472b324b681859b4b0d574b467
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
bb10
Bradley T. Hughes 2012-04-04 12:11:40 +02:00 committed by Qt by Nokia
parent acd79f7d64
commit 779c7c3279
1 changed files with 32 additions and 0 deletions

View File

@ -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)