aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/quick/qquickwindow/tst_qquickwindow.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 043203c256..a25ed9bf9c 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -341,6 +341,7 @@ private slots:
void testWindowVisibilityOrder();
void blockClosing();
+ void blockCloseMethod();
void crashWhenHoverItemDeleted();
@@ -1739,6 +1740,25 @@ void tst_qquickwindow::blockClosing()
QTRY_VERIFY(!window->isVisible());
}
+void tst_qquickwindow::blockCloseMethod()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine);
+ component.loadUrl(testFileUrl("ucantclosethis.qml"));
+ QQuickWindow *window = qobject_cast<QQuickWindow *>(component.create());
+ QVERIFY(window);
+ window->show();
+ QTest::qWaitForWindowExposed(window);
+ QVERIFY(window->isVisible());
+ QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+ QVERIFY(window->isVisible());
+ QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+ QVERIFY(window->isVisible());
+ window->setProperty("canCloseThis", true);
+ QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+ QTRY_VERIFY(!window->isVisible());
+}
+
void tst_qquickwindow::crashWhenHoverItemDeleted()
{
// QTBUG-32771