diff options
Diffstat (limited to 'tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp')
| -rw-r--r-- | tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp index 175bec4cb8..73411e5b8a 100644 --- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp +++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp @@ -14,6 +14,7 @@ #include <QtQuick/private/qquicktaphandler_p.h> #include <QtQuickTemplates2/private/qquickbutton_p.h> #include <QtQuickTestUtils/private/qmlutils_p.h> +#include <QtQuickTestUtils/private/visualtestutils_p.h> #include <QtGui/QWindow> #include <QtGui/QScreen> #include <QtGui/QImage> @@ -142,6 +143,7 @@ private slots: void focusPreserved(); void accessibilityHandlesViewChange(); void cleanupRhi(); + void dontRecreateRootElementOnWindowChange(); private: QPointingDevice *device = QTest::createTouchDevice(); @@ -991,8 +993,7 @@ void tst_qquickwidget::focusOnClickInProxyWidget() void tst_qquickwidget::focusPreserved() { - if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) - QSKIP("Window Activation is not supported."); + SKIP_IF_NO_WINDOW_ACTIVATION if (QGuiApplication::platformName() == "android") QSKIP("Test doesn't exit cleanly on Android and generates many warnings - QTBUG-112696"); @@ -1096,6 +1097,21 @@ void tst_qquickwidget::cleanupRhi() topLevel.create(); } +void tst_qquickwidget::dontRecreateRootElementOnWindowChange() +{ + auto *quickWidget = new QQuickWidget(); + quickWidget->setSource(testFileUrl("rectangle.qml")); + QObject *item = quickWidget->rootObject(); + + bool wasDestroyed = false; + QObject::connect(item, &QObject::destroyed, this, [&] { wasDestroyed = true; }); + + QEvent event(QEvent::WindowChangeInternal); + QCoreApplication::sendEvent(quickWidget, &event); + + QVERIFY(!wasDestroyed); +} + QTEST_MAIN(tst_qquickwidget) #include "tst_qquickwidget.moc" |
