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.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index 868288e36e..9517264e55 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 mapGlobal();
void positioning_data();
void positioning();
+ void positioningDuringMinimized();
void isExposed();
void isActive();
void testInputEvents();
@@ -306,6 +307,28 @@ void tst_QWindow::positioning()
}
}
+void tst_QWindow::positioningDuringMinimized()
+{
+ // QTBUG-39544, setting a geometry in minimized state should work as well.
+ if (QGuiApplication::platformName().compare("windows", Qt::CaseInsensitive))
+ QSKIP("Not supported on this platform");
+ Window window;
+ window.setTitle(QStringLiteral("positioningDuringMinimized"));
+ const QRect initialGeometry(QGuiApplication::primaryScreen()->availableGeometry().topLeft() + QPoint(100, 100),
+ QSize(200, 200));
+ window.setGeometry(initialGeometry);
+ window.showNormal();
+ QVERIFY(QTest::qWaitForWindowExposed(&window));
+ QCOMPARE(window.geometry(), initialGeometry);
+ window.setWindowState(Qt::WindowMinimized);
+ QCOMPARE(window.geometry(), initialGeometry);
+ const QRect newGeometry(initialGeometry.topLeft() + QPoint(50, 50), initialGeometry.size() + QSize(50, 50));
+ window.setGeometry(newGeometry);
+ QTRY_COMPARE(window.geometry(), newGeometry);
+ window.setWindowState(Qt::WindowNoState);
+ QTRY_COMPARE(window.geometry(), newGeometry);
+}
+
void tst_QWindow::isExposed()
{
QRect geometry(80, 80, 40, 40);