aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2022-04-08 17:35:03 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-04-11 17:37:25 +0000
commitb6316097cca5ca0ede4b59ac6510b31c242dd791 (patch)
tree3d5a6af6ed458678e22f39cdc5d046cfad297ba8
parentd19d304ecc4a32bb665a3834395e2c4ed6b8d4af (diff)
Android: partly re-enable tst_qquickwidget
This test does the following: - QSKIP reparentToNewWindow() because it crashes on Android - QSKIP enterLeave() because Android does not support cursor - Fix resizeOverlay() and focusOnClickInProxyWidget() by using QTestPrivate::androidCompatibleShow() that takes desired widget size and position into account while showing on Android. Task-number: QTBUG-100173 Change-Id: I383d7d80ca645ca50c7a843d4906a99e1bb0d0ea Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 749d5c6d4f7df7ba10077fb534019ad278c44a4b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--tests/auto/quickwidgets/qquickwidget/BLACKLIST7
-rw-r--r--tests/auto/quickwidgets/qquickwidget/CMakeLists.txt1
-rw-r--r--tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp13
3 files changed, 11 insertions, 10 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/BLACKLIST b/tests/auto/quickwidgets/qquickwidget/BLACKLIST
index 315d87502e..44ab3e9397 100644
--- a/tests/auto/quickwidgets/qquickwidget/BLACKLIST
+++ b/tests/auto/quickwidgets/qquickwidget/BLACKLIST
@@ -5,10 +5,3 @@ opensuse-leap
macos
[synthMouseFromTouch] # QTBUG-86729
*
-# QTBUG-100173
-[enterLeave]
-android
-[resizeOverlay]
-android
-[focusOnClickInProxyWidget]
-android
diff --git a/tests/auto/quickwidgets/qquickwidget/CMakeLists.txt b/tests/auto/quickwidgets/qquickwidget/CMakeLists.txt
index b1e5b873f2..24da087db5 100644
--- a/tests/auto/quickwidgets/qquickwidget/CMakeLists.txt
+++ b/tests/auto/quickwidgets/qquickwidget/CMakeLists.txt
@@ -23,6 +23,7 @@ qt_internal_add_test(tst_qquickwidget
Qt::QuickWidgetsPrivate
Qt::WidgetsPrivate
Qt::QuickTestUtilsPrivate
+ Qt::TestPrivate
TESTDATA ${test_data}
)
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
index a63ebde084..35187feaf8 100644
--- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
+++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
@@ -29,6 +29,7 @@
#include <qtest.h>
#include <qtesttouch.h>
#include <QtTest/QSignalSpy>
+#include <QtTest/private/qtesthelpers_p.h>
#include <QtQml/qqmlcomponent.h>
#include <QtQml/qqmlcontext.h>
#include <QtQuick/qquickview.h>
@@ -448,6 +449,9 @@ void tst_qquickwidget::grabBeforeShow()
void tst_qquickwidget::reparentToNewWindow()
{
+#ifdef Q_OS_ANDROID
+ QSKIP("This test crashes on Android (see QTBUG-100173)");
+#endif
QWidget window1;
QWidget window2;
@@ -543,6 +547,9 @@ void tst_qquickwidget::shortcuts()
void tst_qquickwidget::enterLeave()
{
+#ifdef Q_OS_ANDROID
+ QSKIP("Android has no cursor");
+#endif
QQuickWidget view;
view.setSource(testFileUrl("enterleave.qml"));
@@ -732,7 +739,7 @@ void tst_qquickwidget::resizeOverlay()
overlay->startListening();
widget.resize(200, 200);
- widget.show();
+ QTestPrivate::androidCompatibleShow(&widget);
QCOMPARE(rootItem->width(), 200);
QCOMPARE(rootItem->height(), 200);
QCOMPARE(overlay->width(), rootItem->width());
@@ -809,7 +816,7 @@ void tst_qquickwidget::focusOnClickInProxyWidget()
QGraphicsView view1(&scene);
view1.setFrameStyle(QFrame::NoFrame);
view1.resize(400,400);
- view1.show();
+ QTestPrivate::androidCompatibleShow(&view1);
@@ -845,7 +852,7 @@ void tst_qquickwidget::focusOnClickInProxyWidget()
// Now create a second view and repeat, in order to verify that we handle one QQuickItem being in multiple windows
QGraphicsView view2(&scene);
view2.resize(400,400);
- view2.show();
+ QTestPrivate::androidCompatibleShow(&view2);
QVERIFY(QTest::qWaitForWindowExposed(&view2));
QWindow *window2 = view2.windowHandle();