diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2022-04-08 17:35:03 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-04-11 17:37:25 +0000 |
commit | b6316097cca5ca0ede4b59ac6510b31c242dd791 (patch) | |
tree | 3d5a6af6ed458678e22f39cdc5d046cfad297ba8 | |
parent | d19d304ecc4a32bb665a3834395e2c4ed6b8d4af (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/BLACKLIST | 7 | ||||
-rw-r--r-- | tests/auto/quickwidgets/qquickwidget/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | 13 |
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(); |