summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-03-29 14:19:57 +0300
committerSami Nurmenniemi <sami.nurmenniemi@qt.io>2017-04-26 09:11:53 +0000
commit9b52cfd64c089901b2e3fa0a19d6f342adad6025 (patch)
tree05d151cff1959e56173cef7c71d68a02d675a3a0
parentba21e424638404ce663966c7f5dff8c405ecd3f2 (diff)
Fix tst_QWindow modal dialog tests for offscreen and minimal platforms
Changed testing of focus of modal dialogs to match behavior on offscreen and minimal platforms. Change-Id: Ife3ea41b4b78df2e64c8d8e740332914b1e5a67c Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index 36ec28de8d..0196c7d72c 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -1852,6 +1852,14 @@ void tst_QWindow::modalDialog()
QGuiApplication::sync();
QGuiApplication::processEvents();
+
+ if (!QGuiApplication::platformName().compare(QLatin1String("offscreen"), Qt::CaseInsensitive)
+ || !QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive)) {
+ QWARN("Focus stays in normalWindow on offscreen/minimal platforms");
+ QTRY_COMPARE(QGuiApplication::focusWindow(), &normalWindow);
+ return;
+ }
+
QTRY_COMPARE(QGuiApplication::focusWindow(), &dialog);
}
@@ -1890,6 +1898,14 @@ void tst_QWindow::modalDialogClosingOneOfTwoModal()
QGuiApplication::sync();
QGuiApplication::processEvents();
+
+ if (!QGuiApplication::platformName().compare(QLatin1String("offscreen"), Qt::CaseInsensitive)
+ || !QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive)) {
+ QWARN("Focus is lost when closing modal dialog on offscreen/minimal platforms");
+ QTRY_COMPARE(QGuiApplication::focusWindow(), nullptr);
+ return;
+ }
+
QTRY_COMPARE(QGuiApplication::focusWindow(), &first_dialog);
}