diff options
Diffstat (limited to 'tests/auto/widgets/graphicsview')
28 files changed, 464 insertions, 157 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/CMakeLists.txt index 6e97335a9a..db323fcb15 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/CMakeLists.txt @@ -1,6 +1,16 @@ -add_qt_test("tst_qgraphicsanchorlayout" SOURCES tst_qgraphicsanchorlayout.cpp - LIBRARIES - Qt::WidgetsPrivate +# Generated from qgraphicsanchorlayout.pro. + +##################################################################### +## tst_qgraphicsanchorlayout Test: +##################################################################### + +add_qt_test(tst_qgraphicsanchorlayout + SOURCES + tst_qgraphicsanchorlayout.cpp + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/CMakeLists.txt index ef52c03bc8..9d9fc68832 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout1/CMakeLists.txt @@ -1,6 +1,16 @@ -add_qt_test("tst_qgraphicsanchorlayout1" SOURCES tst_qgraphicsanchorlayout1.cpp - LIBRARIES - Qt::WidgetsPrivate +# Generated from qgraphicsanchorlayout1.pro. + +##################################################################### +## tst_qgraphicsanchorlayout1 Test: +##################################################################### + +add_qt_test(tst_qgraphicsanchorlayout1 + SOURCES + tst_qgraphicsanchorlayout1.cpp + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) diff --git a/tests/auto/widgets/graphicsview/qgraphicseffectsource/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicseffectsource/CMakeLists.txt index 51add34605..ac1ac91f8b 100644 --- a/tests/auto/widgets/graphicsview/qgraphicseffectsource/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicseffectsource/CMakeLists.txt @@ -1,6 +1,16 @@ -add_qt_test("tst_qgraphicseffectsource" SOURCES tst_qgraphicseffectsource.cpp - LIBRARIES - Qt::WidgetsPrivate +# Generated from qgraphicseffectsource.pro. + +##################################################################### +## tst_qgraphicseffectsource Test: +##################################################################### + +add_qt_test(tst_qgraphicseffectsource + SOURCES + tst_qgraphicseffectsource.cpp + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) diff --git a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp index 973a73a4a9..eaad5e478d 100644 --- a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp @@ -166,7 +166,7 @@ void tst_QGraphicsEffectSource::initTestCase() scene->addItem(item); view = new QGraphicsView(scene); view->show(); - QVERIFY(QTest::qWaitForWindowActive(view)); + QVERIFY(QTest::qWaitForWindowExposed(view)); } void tst_QGraphicsEffectSource::cleanupTestCase() diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/CMakeLists.txt index ecb90ea557..c02f142182 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicsgridlayout" SOURCES tst_qgraphicsgridlayout.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicsgridlayout.pro. + +##################################################################### +## tst_qgraphicsgridlayout Test: +##################################################################### + +add_qt_test(tst_qgraphicsgridlayout + SOURCES + tst_qgraphicsgridlayout.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp index 2f0c43552f..4d5857c3c8 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp @@ -159,12 +159,7 @@ public: struct ItemDesc { ItemDesc(int row, int col) - : m_pos(qMakePair(row, col)), - m_rowSpan(1), - m_colSpan(1), - m_sizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)), - m_align(0), - m_fnConstraint(0) + : m_pos(qMakePair(row, col)) { } @@ -278,17 +273,17 @@ struct ItemDesc //private: QPair<int,int> m_pos; // row,col - int m_rowSpan; - int m_colSpan; - QSizePolicy m_sizePolicy; + int m_rowSpan = 1; + int m_colSpan = 1; + QSizePolicy m_sizePolicy{QSizePolicy::Preferred, QSizePolicy::Preferred}; // Initializer {} is a workaround for gcc bug 68949 QSizeF m_sizeHints[Qt::NSizeHints] {}; QSizeF m_sizes[Qt::NSizeHints] {}; Qt::Alignment m_align; - Qt::Orientation m_constraintOrientation; - QSizeF (*m_fnConstraint)(Qt::SizeHint, const QSizeF &); + Qt::Orientation m_constraintOrientation = Qt::Horizontal; + QSizeF (*m_fnConstraint)(Qt::SizeHint, const QSizeF &) = nullptr; }; typedef QList<ItemDesc> ItemList; @@ -340,7 +335,7 @@ void tst_QGraphicsGridLayout::qgraphicsgridlayout() layout.setColumnStretchFactor(0, 0); layout.setGeometry(QRectF()); layout.setHorizontalSpacing(0); - layout.setRowAlignment(0, 0); + layout.setRowAlignment(0, { }); layout.setRowFixedHeight(0, 0); layout.setRowMaximumHeight(0, 0); layout.setRowMinimumHeight(0, 0); @@ -1826,7 +1821,7 @@ void tst_QGraphicsGridLayout::removeLayout() QGraphicsView view(&scene); view.show(); - QVERIFY(QTest::qWaitForWindowActive(&view)); + QVERIFY(QTest::qWaitForWindowExposed(&view)); QRectF r1 = textEdit->geometry(); QRectF r2 = pushButton->geometry(); diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsitem/CMakeLists.txt index e5446407ab..1be66372b6 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitem/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsitem/CMakeLists.txt @@ -1,11 +1,27 @@ -add_qt_test("tst_qgraphicsitem" SOURCES tst_qgraphicsitem.cpp +# Generated from qgraphicsitem.pro. + +##################################################################### +## tst_qgraphicsitem Test: +##################################################################### + +add_qt_test(tst_qgraphicsitem + SOURCES + tst_qgraphicsitem.cpp DEFINES QT_NO_CAST_TO_ASCII - LIBRARIES - Qt::WidgetsPrivate - Qt::TestPrivate + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::TestPrivate + Qt::Widgets + Qt::WidgetsPrivate ) -extend_target("tst_qgraphicsitem" CONDITION WIN32 AND NOT WINRT LIBRARIES -luser32) +## Scopes: +##################################################################### + +extend_target(tst_qgraphicsitem CONDITION WIN32 AND NOT WINRT + PUBLIC_LIBRARIES + user32 +) diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp index 6d415952c9..4206ce1f87 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp @@ -450,7 +450,9 @@ private slots: void modality_keyEvents(); void itemIsInFront(); void scenePosChange(); +#if QT_CONFIG(shortcut) void textItem_shortcuts(); +#endif void scroll(); void focusHandling_data(); void focusHandling(); @@ -1912,7 +1914,7 @@ void tst_QGraphicsItem::acceptedMouseButtons() event.setScenePos(QPointF(0, 0)); QCoreApplication::sendEvent(&scene, &event); QCOMPARE(scene.mouseGrabberItem(), item2); - item2->setAcceptedMouseButtons(nullptr); + item2->setAcceptedMouseButtons({ }); QCOMPARE(scene.mouseGrabberItem(), nullptr); QCoreApplication::sendEvent(&scene, &event); QCOMPARE(scene.mouseGrabberItem(), item1); @@ -8014,11 +8016,21 @@ public: //Doesn't use the extended style option so the exposed rect is the boundingRect if (!(flags() & QGraphicsItem::ItemUsesExtendedStyleOption)) { QCOMPARE(option->exposedRect, boundingRect()); +#if QT_DEPRECATED_SINCE(5, 13) +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED QCOMPARE(option->matrix, QMatrix()); +QT_WARNING_POP +#endif } else { QVERIFY(option->exposedRect != QRect()); QVERIFY(option->exposedRect != boundingRect()); +#if QT_DEPRECATED_SINCE(5, 13) +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED QCOMPARE(option->matrix, sceneTransform().toAffine()); +QT_WARNING_POP +#endif } } QGraphicsRectItem::paint(painter, option, widget); @@ -8069,7 +8081,7 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption() void tst_QGraphicsItem::itemSendsGeometryChanges() { ItemChangeTester item; - item.setFlags(nullptr); + item.setFlags({ }); item.clear(); QTransform x = QTransform().rotate(45); @@ -8297,20 +8309,14 @@ void tst_QGraphicsItem::sorting() _paintedItems.clear(); - view.viewport()->repaint(); -#if defined(Q_OS_MAC) - // There's no difference between repaint and update on the Mac, - // so we have to process events here to make sure we get the event. - QTest::qWait(100); -#endif - + view.viewport()->update(); const GraphicsItems expected{grid[0][0], grid[0][1], grid[0][2], grid[0][3], grid[1][0], grid[1][1], grid[1][2], grid[1][3], grid[2][0], grid[2][1], grid[2][2], grid[2][3], grid[3][0], grid[3][1], grid[3][2], grid[3][3], grid[4][0], grid[4][1], grid[4][2], grid[4][3], item1, item2}; - QCOMPARE(_paintedItems, expected); + QTRY_COMPARE(_paintedItems, expected); } void tst_QGraphicsItem::itemHasNoContents() @@ -8337,13 +8343,7 @@ void tst_QGraphicsItem::itemHasNoContents() _paintedItems.clear(); - view.viewport()->repaint(); -#ifdef Q_OS_MAC - // There's no difference between update() and repaint() on the Mac, - // so we have to process events here to make sure we get the event. - QTest::qWait(10); -#endif - + view.viewport()->update(); QTRY_COMPARE(_paintedItems, GraphicsItems{item2}); } @@ -10813,6 +10813,8 @@ void tst_QGraphicsItem::scenePosChange() QCOMPARE(child2->changes.count(QGraphicsItem::ItemScenePositionHasChanged), 0); } +#if QT_CONFIG(shortcut) + void tst_QGraphicsItem::textItem_shortcuts() { if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) @@ -10852,6 +10854,8 @@ void tst_QGraphicsItem::textItem_shortcuts() QTRY_COMPARE(item->textCursor().selectedText(), item->toPlainText()); } +#endif // QT_CONFIG(shortcut) + void tst_QGraphicsItem::scroll() { // Create two overlapping rectangles in the scene: diff --git a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/CMakeLists.txt index 7fe81cb6ea..179b6c8497 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/CMakeLists.txt @@ -1,6 +1,15 @@ -add_qt_test("tst_qgraphicsitemanimation" SOURCES tst_qgraphicsitemanimation.cpp +# Generated from qgraphicsitemanimation.pro. + +##################################################################### +## tst_qgraphicsitemanimation Test: +##################################################################### + +add_qt_test(tst_qgraphicsitemanimation + SOURCES + tst_qgraphicsitemanimation.cpp DEFINES QT_NO_CAST_TO_ASCII - LIBRARIES + PUBLIC_LIBRARIES + Qt::Gui Qt::Widgets ) diff --git a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp index ed79904ed8..0d8e5b4d54 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp @@ -31,7 +31,6 @@ #include <qgraphicsitemanimation.h> #include <QtCore/qtimeline.h> -#include <QtGui/qmatrix.h> class tst_QGraphicsItemAnimation : public QObject { diff --git a/tests/auto/widgets/graphicsview/qgraphicslayout/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicslayout/CMakeLists.txt index 65ae39ae8f..9a149f9df1 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslayout/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicslayout/CMakeLists.txt @@ -1,6 +1,15 @@ -add_qt_test("tst_qgraphicslayout" SOURCES tst_qgraphicslayout.cpp +# Generated from qgraphicslayout.pro. + +##################################################################### +## tst_qgraphicslayout Test: +##################################################################### + +add_qt_test(tst_qgraphicslayout + SOURCES + tst_qgraphicslayout.cpp DEFINES QT_USE_USING_NAMESPACE - LIBRARIES + PUBLIC_LIBRARIES + Qt::Gui Qt::Widgets ) diff --git a/tests/auto/widgets/graphicsview/qgraphicslayoutitem/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicslayoutitem/CMakeLists.txt index 8f1e57ea47..56b9f73127 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslayoutitem/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicslayoutitem/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicslayoutitem" SOURCES tst_qgraphicslayoutitem.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicslayoutitem.pro. + +##################################################################### +## tst_qgraphicslayoutitem Test: +##################################################################### + +add_qt_test(tst_qgraphicslayoutitem + SOURCES + tst_qgraphicslayoutitem.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/CMakeLists.txt index b4d4b6630a..1a44be75a1 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicslinearlayout" SOURCES tst_qgraphicslinearlayout.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicslinearlayout.pro. + +##################################################################### +## tst_qgraphicslinearlayout Test: +##################################################################### + +add_qt_test(tst_qgraphicslinearlayout + SOURCES + tst_qgraphicslinearlayout.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp index 9369470ce5..817f67540e 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp @@ -245,7 +245,7 @@ void tst_QGraphicsLinearLayout::alignment() widget->setLayout(&layout); static const Qt::Alignment alignmentsToTest[] = { - (Qt::Alignment)0, + Qt::Alignment{}, Qt::AlignLeft, Qt::AlignRight, Qt::AlignHCenter, @@ -253,7 +253,7 @@ void tst_QGraphicsLinearLayout::alignment() Qt::AlignBottom, Qt::AlignVCenter, Qt::AlignCenter, - (Qt::Alignment)0, + Qt::Alignment{}, Qt::AlignLeft, Qt::AlignRight, Qt::AlignHCenter, @@ -1518,7 +1518,7 @@ void tst_QGraphicsLinearLayout::removeLayout() QGraphicsView view(&scene); view.show(); - QVERIFY(QTest::qWaitForWindowActive(&view)); + QVERIFY(QTest::qWaitForWindowExposed(&view)); QRectF r1 = textEdit->geometry(); QRectF r2 = pushButton->geometry(); diff --git a/tests/auto/widgets/graphicsview/qgraphicsobject/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsobject/CMakeLists.txt index 8d5d7ddfe4..0e29191792 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsobject/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsobject/CMakeLists.txt @@ -1 +1,14 @@ -add_qt_test("tst_qgraphicsobject" SOURCES tst_qgraphicsobject.cpp LIBRARIES Qt::Widgets Qt::CorePrivate) +# Generated from qgraphicsobject.pro. + +##################################################################### +## tst_qgraphicsobject Test: +##################################################################### + +add_qt_test(tst_qgraphicsobject + SOURCES + tst_qgraphicsobject.cpp + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/CMakeLists.txt index d6c87306da..cca35623e8 100644 --- a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicspixmapitem" SOURCES tst_qgraphicspixmapitem.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicspixmapitem.pro. + +##################################################################### +## tst_qgraphicspixmapitem Test: +##################################################################### + +add_qt_test(tst_qgraphicspixmapitem + SOURCES + tst_qgraphicspixmapitem.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp index 78fe448bdb..2822279190 100644 --- a/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp @@ -152,10 +152,21 @@ void tst_QGraphicsPixmapItem::contains_data() // public bool contains(QPointF const& point) const void tst_QGraphicsPixmapItem::contains() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QPixmap, pixmap); QFETCH(QPointF, point); QFETCH(bool, contains); + // At the time of writing, by default pixmaps will have: + // - The same pixel format of the primary screen (which is platform dependent and may contain alpha) + // - Uninitialized pixels, potentially including an alpha channel + // - A ShapeMode of Mask (which mean it will use the alpha channel as a mask for contains()) + // This means that in order to prevent undefined behavior in this test, we either need to set + // the shapeMode to something else, or set the pixels of the pixmap. + pixmap.fill(); // Filling the pixmap to be on the safe side. + SubQGraphicsPixmapItem item(pixmap); QCOMPARE(item.contains(point), contains); } diff --git a/tests/auto/widgets/graphicsview/qgraphicspolygonitem/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicspolygonitem/CMakeLists.txt index df9f5c71fe..86c6965756 100644 --- a/tests/auto/widgets/graphicsview/qgraphicspolygonitem/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicspolygonitem/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicspolygonitem" SOURCES tst_qgraphicspolygonitem.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicspolygonitem.pro. + +##################################################################### +## tst_qgraphicspolygonitem Test: +##################################################################### + +add_qt_test(tst_qgraphicspolygonitem + SOURCES + tst_qgraphicspolygonitem.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/CMakeLists.txt index 0dd32c50dd..accec5ff40 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/CMakeLists.txt @@ -1,10 +1,18 @@ -add_qt_test("tst_qgraphicsproxywidget" +# Generated from qgraphicsproxywidget.pro. + +##################################################################### +## tst_qgraphicsproxywidget Test: +##################################################################### + +add_qt_test(tst_qgraphicsproxywidget SOURCES tst_qgraphicsproxywidget.cpp DEFINES QTEST_QPA_MOUSE_HANDLING - LIBRARIES - Qt::WidgetsPrivate + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsscene/CMakeLists.txt index e3c0ed8559..c566b6c1bf 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/CMakeLists.txt @@ -1,15 +1,77 @@ -add_qt_test("tst_qgraphicsscene" +# Generated from qgraphicsscene.pro. + +##################################################################### +## tst_qgraphicsscene Test: +##################################################################### + +add_qt_test(tst_qgraphicsscene SOURCES - images.qrc - testdata.qrc tst_qgraphicsscene.cpp DEFINES - SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}" QT_NO_CAST_TO_ASCII - LIBRARIES - Qt::WidgetsPrivate + SRCDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}\\\" + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate +) + +# Resources: +set(images_resource_files + "Ash_European.jpg" +) + +add_qt_resource(tst_qgraphicsscene "images" + PREFIX + "/" + FILES + ${images_resource_files} +) +set(testdata_resource_files + "testData/render/all-all-45-deg-left.png" + "testData/render/all-all-45-deg-right.png" + "testData/render/all-all-scale-2x.png" + "testData/render/all-all-translate-0-50.png" + "testData/render/all-all-translate-50-0.png" + "testData/render/all-all-untransformed-clip-ellipse.png" + "testData/render/all-all-untransformed-clip-rect.png" + "testData/render/all-all-untransformed.png" + "testData/render/all-bottomleft-untransformed.png" + "testData/render/all-bottomright-untransformed.png" + "testData/render/all-topleft-untransformed.png" + "testData/render/all-topright-untransformed.png" + "testData/render/bottom-bottomright-untransformed.png" + "testData/render/bottom-topleft-untransformed.png" + "testData/render/bottomleft-all-untransformed.png" + "testData/render/bottomleft-topleft-untransformed.png" + "testData/render/bottomright-all-untransformed.png" + "testData/render/bottomright-topleft-untransformed.png" + "testData/render/left-bottomright-untransformed.png" + "testData/render/left-topleft-untransformed.png" + "testData/render/right-bottomright-untransformed.png" + "testData/render/right-topleft-untransformed.png" + "testData/render/top-bottomright-untransformed.png" + "testData/render/top-topleft-untransformed.png" + "testData/render/topleft-all-untransformed.png" + "testData/render/topleft-topleft-untransformed.png" + "testData/render/topright-all-untransformed.png" + "testData/render/topright-topleft-untransformed.png" +) + +add_qt_resource(tst_qgraphicsscene "testdata" + PREFIX + "/" + FILES + ${testdata_resource_files} ) -extend_target("tst_qgraphicsscene" CONDITION WIN32 AND NOT WINRT LIBRARIES -luser32) + +## Scopes: +##################################################################### + +extend_target(tst_qgraphicsscene CONDITION WIN32 AND NOT WINRT + PUBLIC_LIBRARIES + user32 +) diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index 950f3ef670..cfbe1f96ee 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp @@ -3078,6 +3078,9 @@ void tst_QGraphicsScene::tabFocus_emptyScene() void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + QGraphicsScene scene; QGraphicsTextItem *item = scene.addText("Qt rocks!"); item->setTabChangesFocus(true); @@ -3218,6 +3221,9 @@ protected: void tst_QGraphicsScene::tabFocus_sceneWithFocusWidgets() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + QGraphicsScene scene; FocusWidget *widget1 = new FocusWidget; @@ -3287,6 +3293,9 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusWidgets() void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + QGraphicsScene scene; FocusWidget *widget1 = new FocusWidget; @@ -3738,8 +3747,6 @@ void tst_QGraphicsScene::changedSignal() QCoreApplication::processEvents(); QCOMPARE(cl.changes.size(), 2); QCOMPARE(cl.changes.at(1).size(), 2); - QCOMPARE(cl.changes.at(1).first(), QRectF(0, 0, 10, 10)); - QCOMPARE(cl.changes.at(1).last(), QRectF(20, 0, 10, 10)); QCOMPARE(scene.sceneRect(), QRectF(0, 0, 30, 10)); } @@ -3811,6 +3818,9 @@ public: void tst_QGraphicsScene::inputMethod() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + PlatformInputContext inputContext; QInputMethodPrivate *inputMethodPrivate = QInputMethodPrivate::get(QGuiApplication::inputMethod()); @@ -4054,6 +4064,9 @@ void tst_QGraphicsScene::polishItems2() void tst_QGraphicsScene::isActive() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + #if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) QSKIP("Fails on Android (QTBUG-44430)"); #endif diff --git a/tests/auto/widgets/graphicsview/qgraphicssceneindex/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicssceneindex/CMakeLists.txt index 127e4d1d2f..5fa72f7b46 100644 --- a/tests/auto/widgets/graphicsview/qgraphicssceneindex/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicssceneindex/CMakeLists.txt @@ -1,6 +1,23 @@ -add_qt_test("tst_qgraphicssceneindex" SOURCES tst_qgraphicssceneindex.cpp - LIBRARIES - Qt::WidgetsPrivate +# Generated from qgraphicssceneindex.pro. + +if(NOT QT_FEATURE_private_tests) + return() +endif() + +##################################################################### +## tst_qgraphicssceneindex Test: +##################################################################### + +add_qt_test(tst_qgraphicssceneindex + SOURCES + tst_qgraphicssceneindex.cpp + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) + +#### Keys ignored in scope 1:.:.:qgraphicssceneindex.pro:<TRUE>: +# _REQUIREMENTS = "qtConfig(private_tests)" diff --git a/tests/auto/widgets/graphicsview/qgraphicstransform/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicstransform/CMakeLists.txt index 638432f39e..450c0269f3 100644 --- a/tests/auto/widgets/graphicsview/qgraphicstransform/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicstransform/CMakeLists.txt @@ -1 +1,13 @@ -add_qt_test("tst_qgraphicstransform" SOURCES tst_qgraphicstransform.cpp LIBRARIES Qt::Widgets) +# Generated from qgraphicstransform.pro. + +##################################################################### +## tst_qgraphicstransform Test: +##################################################################### + +add_qt_test(tst_qgraphicstransform + SOURCES + tst_qgraphicstransform.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Widgets +) diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicsview/CMakeLists.txt index 9541044cfd..17c9571d62 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicsview/CMakeLists.txt @@ -1,12 +1,31 @@ -add_qt_test("tst_qgraphicsview" +# Generated from qgraphicsview.pro. + +##################################################################### +## tst_qgraphicsview Test: +##################################################################### + +add_qt_test(tst_qgraphicsview SOURCES tst_qgraphicsview.cpp tst_qgraphicsview.h tst_qgraphicsview_2.cpp DEFINES QT_NO_CAST_TO_ASCII - LIBRARIES - Qt::WidgetsPrivate + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate Qt::TestPrivate + Qt::Widgets + Qt::WidgetsPrivate +) + +#### Keys ignored in scope 1:.:.:qgraphicsview.pro:<TRUE>: +# testcase.timeout = "500" + +## Scopes: +##################################################################### + +extend_target(tst_qgraphicsview CONDITION QT_FEATURE_opengl + PUBLIC_LIBRARIES + Qt::OpenGL ) diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro b/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro index 8ed19697a4..e95cdcf7d8 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro +++ b/tests/auto/widgets/graphicsview/qgraphicsview/qgraphicsview.pro @@ -4,6 +4,7 @@ TARGET = tst_qgraphicsview QT += widgets widgets-private testlib QT += core-private gui-private testlib-private +qtConfig(opengl): QT += opengl SOURCES += tst_qgraphicsview.cpp tst_qgraphicsview_2.cpp HEADERS += tst_qgraphicsview.h diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index e21b1b889a..bd027f9eb1 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -48,8 +48,8 @@ #include <QtWidgets/QBoxLayout> #include <QtWidgets/QStyle> #include <QtWidgets/QPushButton> -#ifndef QT_NO_OPENGL -#include <QtWidgets/QOpenGLWidget> +#if QT_CONFIG(opengl) +#include <QtOpenGL/QOpenGLWidget> #endif #include <private/qgraphicsscene_p.h> #include <private/qgraphicsview_p.h> @@ -67,7 +67,7 @@ using namespace QTestPrivate; Q_DECLARE_METATYPE(ExpectedValueDescription) Q_DECLARE_METATYPE(QList<int>) Q_DECLARE_METATYPE(QList<QRectF>) -Q_DECLARE_METATYPE(QMatrix) +Q_DECLARE_METATYPE(QTransform) Q_DECLARE_METATYPE(QPainterPath) Q_DECLARE_METATYPE(Qt::ScrollBarPolicy) Q_DECLARE_METATYPE(ScrollBarCount) @@ -81,21 +81,21 @@ Q_DECLARE_METATYPE(ScrollBarCount) static void sendMousePress(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::LeftButton) { - QMouseEvent event(QEvent::MouseButtonPress, point, widget->mapToGlobal(point), button, 0, 0); + QMouseEvent event(QEvent::MouseButtonPress, point, widget->mapToGlobal(point), button, {}, {}); QApplication::sendEvent(widget, &event); } -static void sendMouseMove(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::NoButton, Qt::MouseButtons buttons = 0) +static void sendMouseMove(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::NoButton, Qt::MouseButtons buttons = {}) { QTest::mouseMove(widget, point); - QMouseEvent event(QEvent::MouseMove, point, widget->mapToGlobal(point), button, buttons, 0); + QMouseEvent event(QEvent::MouseMove, point, widget->mapToGlobal(point), button, buttons, {}); QApplication::sendEvent(widget, &event); QApplication::processEvents(); } static void sendMouseRelease(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::LeftButton) { - QMouseEvent event(QEvent::MouseButtonRelease, point, widget->mapToGlobal(point), button, 0, 0); + QMouseEvent event(QEvent::MouseButtonRelease, point, widget->mapToGlobal(point), button, {}, {}); QApplication::sendEvent(widget, &event); } @@ -154,7 +154,7 @@ private slots: void sceneRect_growing(); void setSceneRect(); void viewport(); -#ifndef QT_NO_OPENGL +#if QT_CONFIG(opengl) void openGLViewport(); #endif void dragMode_scrollHand(); @@ -291,7 +291,7 @@ void tst_QGraphicsView::construction() QCOMPARE(view.sceneRect(), QRectF()); QVERIFY(view.viewport()); QCOMPARE(view.viewport()->metaObject()->className(), "QWidget"); - QCOMPARE(view.matrix(), QMatrix()); + QCOMPARE(view.transform(), QTransform()); QVERIFY(view.items().isEmpty()); QVERIFY(view.items(QPoint()).isEmpty()); QVERIFY(view.items(QRect()).isEmpty()); @@ -343,7 +343,7 @@ void tst_QGraphicsView::renderHints() QCOMPARE(view.renderHints(), QPainter::TextAntialiasing); view.setRenderHint(QPainter::Antialiasing); QCOMPARE(view.renderHints(), QPainter::TextAntialiasing | QPainter::Antialiasing); - view.setRenderHints(0); + view.setRenderHints({}); QCOMPARE(view.renderHints(), 0); TestItem *item = new TestItem; @@ -358,13 +358,13 @@ void tst_QGraphicsView::renderHints() QCOMPARE(item->hints, 0); view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); - view.repaint(); + view.update(); QTRY_COMPARE(item->hints, view.renderHints()); view.setRenderHints(QPainter::Antialiasing); QCOMPARE(view.renderHints(), QPainter::Antialiasing); - view.repaint(); + view.update(); QTRY_COMPARE(item->hints, view.renderHints()); } @@ -380,7 +380,7 @@ void tst_QGraphicsView::alignment() for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { - Qt::Alignment alignment = 0; + Qt::Alignment alignment; switch (i) { case 0: alignment |= Qt::AlignLeft; @@ -418,6 +418,9 @@ void tst_QGraphicsView::alignment() void tst_QGraphicsView::interactive() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + TestItem *item = new TestItem; item->setFlags(QGraphicsItem::ItemIsMovable); QCOMPARE(item->events.size(), 0); @@ -656,7 +659,7 @@ void tst_QGraphicsView::viewport() QVERIFY(QTest::qWaitForWindowExposed(&view)); } -#ifndef QT_NO_OPENGL +#if QT_CONFIG(opengl) void tst_QGraphicsView::openGLViewport() { if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL)) @@ -737,7 +740,7 @@ void tst_QGraphicsView::dragMode_scrollHand() // Press QMouseEvent event(QEvent::MouseButtonPress, view.viewport()->rect().center(), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -754,7 +757,7 @@ void tst_QGraphicsView::dragMode_scrollHand() // Move QMouseEvent event(QEvent::MouseMove, view.viewport()->rect().center() + QPoint(10, 0), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -766,7 +769,7 @@ void tst_QGraphicsView::dragMode_scrollHand() // Move QMouseEvent event(QEvent::MouseMove, view.viewport()->rect().center() + QPoint(10, 10), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -780,7 +783,7 @@ void tst_QGraphicsView::dragMode_scrollHand() // Release QMouseEvent event(QEvent::MouseButtonRelease, view.viewport()->rect().center() + QPoint(10, 10), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -802,14 +805,14 @@ void tst_QGraphicsView::dragMode_scrollHand() // Press QMouseEvent event(QEvent::MouseButtonPress, view.viewport()->rect().center() + QPoint(10, 10), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); QApplication::sendEvent(view.viewport(), &event); } { // Release QMouseEvent event(QEvent::MouseButtonRelease, view.viewport()->rect().center() + QPoint(10, 10), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); QApplication::sendEvent(view.viewport(), &event); } @@ -859,7 +862,7 @@ void tst_QGraphicsView::dragMode_rubberBand() // Press QMouseEvent event(QEvent::MouseButtonPress, view.viewport()->rect().center(), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -874,7 +877,7 @@ void tst_QGraphicsView::dragMode_rubberBand() // Move QMouseEvent event(QEvent::MouseMove, view.viewport()->rect().center() + QPoint(100, 0), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -889,7 +892,7 @@ void tst_QGraphicsView::dragMode_rubberBand() // Move QMouseEvent event(QEvent::MouseMove, view.viewport()->rect().center() + QPoint(100, 100), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -901,7 +904,7 @@ void tst_QGraphicsView::dragMode_rubberBand() // Release QMouseEvent event(QEvent::MouseButtonRelease, view.viewport()->rect().center() + QPoint(100, 100), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); event.setAccepted(true); QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); @@ -1006,7 +1009,8 @@ void tst_QGraphicsView::rubberBandExtendSelection() // now rubberband with modifier key { QPoint clickPoint = view.mapFromScene(20, 115); - QMouseEvent event(QEvent::MouseButtonPress, clickPoint, view.viewport()->mapToGlobal(clickPoint), Qt::LeftButton, 0, Qt::ControlModifier); + QMouseEvent event(QEvent::MouseButtonPress, clickPoint, view.viewport()->mapToGlobal(clickPoint), + Qt::LeftButton, {}, Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &event); } sendMouseMove(view.viewport(), view.mapFromScene(20, 300), Qt::LeftButton, Qt::LeftButton); @@ -1204,37 +1208,37 @@ void tst_QGraphicsView::matrix() void tst_QGraphicsView::matrix_convenience() { QGraphicsView view; - QCOMPARE(view.matrix(), QMatrix()); + QCOMPARE(view.transform(), QTransform()); // Check the convenience functions view.rotate(90); - QCOMPARE(view.matrix(), QMatrix().rotate(90)); + QCOMPARE(view.transform(), QTransform().rotate(90)); view.scale(2, 2); - QCOMPARE(view.matrix(), QMatrix().scale(2, 2) * QMatrix().rotate(90)); + QCOMPARE(view.transform(), QTransform().scale(2, 2) * QTransform().rotate(90)); view.shear(1.2, 1.2); - QCOMPARE(view.matrix(), QMatrix().shear(1.2, 1.2) * QMatrix().scale(2, 2) * QMatrix().rotate(90)); + QCOMPARE(view.transform(), QTransform().shear(1.2, 1.2) * QTransform().scale(2, 2) * QTransform().rotate(90)); view.translate(1, 1); - QCOMPARE(view.matrix(), QMatrix().translate(1, 1) * QMatrix().shear(1.2, 1.2) * QMatrix().scale(2, 2) * QMatrix().rotate(90)); + QCOMPARE(view.transform(), QTransform().translate(1, 1) * QTransform().shear(1.2, 1.2) * QTransform().scale(2, 2) * QTransform().rotate(90)); } void tst_QGraphicsView::matrix_combine() { // Check matrix combining QGraphicsView view; - QCOMPARE(view.matrix(), QMatrix()); - view.setMatrix(QMatrix().rotate(90), true); - view.setMatrix(QMatrix().rotate(90), true); - view.setMatrix(QMatrix().rotate(90), true); - view.setMatrix(QMatrix().rotate(90), true); - QCOMPARE(view.matrix(), QMatrix()); - - view.resetMatrix(); - QCOMPARE(view.matrix(), QMatrix()); - view.setMatrix(QMatrix().rotate(90), false); - view.setMatrix(QMatrix().rotate(90), false); - view.setMatrix(QMatrix().rotate(90), false); - view.setMatrix(QMatrix().rotate(90), false); - QCOMPARE(view.matrix(), QMatrix().rotate(90)); + QCOMPARE(view.transform(), QTransform()); + view.setTransform(QTransform().rotate(90), true); + view.setTransform(QTransform().rotate(90), true); + view.setTransform(QTransform().rotate(90), true); + view.setTransform(QTransform().rotate(90), true); + QCOMPARE(view.transform(), QTransform()); + + view.resetTransform(); + QCOMPARE(view.transform(), QTransform()); + view.setTransform(QTransform().rotate(90), false); + view.setTransform(QTransform().rotate(90), false); + view.setTransform(QTransform().rotate(90), false); + view.setTransform(QTransform().rotate(90), false); + QCOMPARE(view.transform(), QTransform().rotate(90)); } void tst_QGraphicsView::centerOnPoint() @@ -2121,8 +2125,8 @@ void tst_QGraphicsView::mapFromScenePath() QPainterPath path2; path2.addPolygon(polygon2); - QPolygonF pathPoly = view.mapFromScene(path).toFillPolygon(); - QPolygonF path2Poly = path2.toFillPolygon(); + QPolygonF pathPoly = view.mapFromScene(path).toFillPolygon(QTransform()); + QPolygonF path2Poly = path2.toFillPolygon(QTransform()); for (int i = 0; i < pathPoly.size(); ++i) { QVERIFY(qAbs(pathPoly[i].x() - path2Poly[i].x()) < 3); @@ -2159,14 +2163,14 @@ void tst_QGraphicsView::sendEvent() QCOMPARE(item->events.at(item->events.size() - 1), QEvent::GraphicsSceneMousePress); QMouseEvent mouseMoveEvent(QEvent::MouseMove, itemPoint, view.viewport()->mapToGlobal(itemPoint), - Qt::LeftButton, Qt::LeftButton, 0); + Qt::LeftButton, Qt::LeftButton, {}); QApplication::sendEvent(view.viewport(), &mouseMoveEvent); QCOMPARE(item->events.size(), 5); QCOMPARE(item->events.last(), QEvent::GraphicsSceneMouseMove); QMouseEvent mouseReleaseEvent(QEvent::MouseButtonRelease, itemPoint, view.viewport()->mapToGlobal(itemPoint), - Qt::LeftButton, 0, 0); + Qt::LeftButton, {}, {}); QApplication::sendEvent(view.viewport(), &mouseReleaseEvent); QCOMPARE(item->events.size(), 7); QCOMPARE(item->events.at(item->events.size() - 2), QEvent::GraphicsSceneMouseRelease); @@ -2627,13 +2631,12 @@ void tst_QGraphicsView::optimizationFlags() class MessUpPainterItem : public QGraphicsRectItem { public: - MessUpPainterItem(const QRectF &rect) : QGraphicsRectItem(rect), dirtyPainter(false) - { } - - bool dirtyPainter; - + using QGraphicsRectItem::QGraphicsRectItem; + bool dirtyPainter = false; + bool receivedPaintEvent = false; void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *w) { + receivedPaintEvent = true; dirtyPainter = (painter->pen().color() != w->palette().color(w->foregroundRole())); painter->setPen(Qt::red); } @@ -2671,18 +2674,22 @@ void tst_QGraphicsView::optimizationFlags_dontSavePainterState() QGraphicsView view(&scene); view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); - view.viewport()->repaint(); + parent->receivedPaintEvent = false; + child->receivedPaintEvent = false; + view.viewport()->update(); + QTRY_VERIFY(parent->receivedPaintEvent); + QTRY_VERIFY(child->receivedPaintEvent); QVERIFY(!parent->dirtyPainter); QVERIFY(!child->dirtyPainter); view.setOptimizationFlags(QGraphicsView::DontSavePainterState); - view.viewport()->repaint(); + parent->receivedPaintEvent = false; + child->receivedPaintEvent = false; + view.viewport()->update(); -#ifdef Q_OS_MAC - // Repaint on OS X actually does require spinning the event loop. - QTest::qWait(100); -#endif + QTRY_VERIFY(parent->receivedPaintEvent); + QTRY_VERIFY(child->receivedPaintEvent); QVERIFY(!parent->dirtyPainter); QVERIFY(child->dirtyPainter); @@ -2749,7 +2756,7 @@ void tst_QGraphicsView::optimizationFlags_dontSavePainterState2() QVERIFY(QTest::qWaitForWindowExposed(&view)); // Make sure the view is repainted; otherwise the tests below will fail. - view.viewport()->repaint(); + view.viewport()->update(); QTRY_VERIFY(view.painted); // Make sure the painter's world transform is preserved after drawItems. @@ -3280,7 +3287,7 @@ void tst_QGraphicsView::task186827_deleteReplayedItem() QCOMPARE(view.mouseMoves, 0); { - QMouseEvent event(QEvent::MouseMove, view.mapFromScene(25, 25), Qt::NoButton, 0, 0); + QMouseEvent event(QEvent::MouseMove, view.mapFromScene(25, 25), Qt::NoButton, {}, {}); QApplication::sendEvent(view.viewport(), &event); } QCOMPARE(view.mouseMoves, 1); @@ -3288,7 +3295,7 @@ void tst_QGraphicsView::task186827_deleteReplayedItem() QTRY_COMPARE(view.mouseMoves, 1); QTest::qWait(25); { - QMouseEvent event(QEvent::MouseMove, view.mapFromScene(25, 25), Qt::NoButton, 0, 0); + QMouseEvent event(QEvent::MouseMove, view.mapFromScene(25, 25), Qt::NoButton, {}, {}); QApplication::sendEvent(view.viewport(), &event); } QCOMPARE(view.mouseMoves, 2); @@ -3297,6 +3304,9 @@ void tst_QGraphicsView::task186827_deleteReplayedItem() void tst_QGraphicsView::task207546_focusCrash() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + class _Widget : public QWidget { public: @@ -3331,8 +3341,8 @@ void tst_QGraphicsView::task210599_unsetDragWhileDragging() // Enable and do a drag { view.setDragMode(QGraphicsView::ScrollHandDrag); - QMouseEvent press(QEvent::MouseButtonPress, origPos, Qt::LeftButton, 0, 0); - QMouseEvent move(QEvent::MouseMove, step1Pos, Qt::LeftButton, 0, 0); + QMouseEvent press(QEvent::MouseButtonPress, origPos, Qt::LeftButton, {}, {}); + QMouseEvent move(QEvent::MouseMove, step1Pos, Qt::LeftButton, {}, {}); QApplication::sendEvent(view.viewport(), &press); QApplication::sendEvent(view.viewport(), &move); } @@ -3340,7 +3350,7 @@ void tst_QGraphicsView::task210599_unsetDragWhileDragging() // unset drag and release mouse, inverse order { view.setDragMode(QGraphicsView::NoDrag); - QMouseEvent release(QEvent::MouseButtonRelease, step1Pos, Qt::LeftButton, 0, 0); + QMouseEvent release(QEvent::MouseButtonRelease, step1Pos, Qt::LeftButton, {}, {}); QApplication::sendEvent(view.viewport(), &release); } @@ -3349,7 +3359,7 @@ void tst_QGraphicsView::task210599_unsetDragWhileDragging() // reset drag, and move mouse without holding button down. { view.setDragMode(QGraphicsView::ScrollHandDrag); - QMouseEvent move(QEvent::MouseMove, step2Pos, Qt::LeftButton, 0, 0); + QMouseEvent move(QEvent::MouseMove, step2Pos, Qt::LeftButton, {}, {}); QApplication::sendEvent(view.viewport(), &move); } @@ -3641,6 +3651,8 @@ void tst_QGraphicsView::moveItemWhileScrolling() int a = adjustForAntialiasing ? 2 : 1; expectedRegion += QRect(40, 50, 10, 10).adjusted(-a, -a, a, a); expectedRegion += QRect(40, 60, 10, 10).adjusted(-a, -a, a, a); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); COMPARE_REGIONS(view.lastPaintedRegion, expectedRegion); } @@ -3798,7 +3810,7 @@ void tst_QGraphicsView::mouseTracking2() EventSpy spy(&scene, QEvent::GraphicsSceneMouseMove); QCOMPARE(spy.count(), 0); QMouseEvent event(QEvent::MouseMove,view.viewport()->rect().center(), Qt::NoButton, - Qt::MouseButtons(Qt::NoButton), 0); + Qt::MouseButtons(Qt::NoButton), {}); QApplication::sendEvent(view.viewport(), &event); QCOMPARE(spy.count(), 1); } @@ -4394,6 +4406,9 @@ void tst_QGraphicsView::inputMethodSensitivity() void tst_QGraphicsView::inputContextReset() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + PlatformInputContext inputContext; QInputMethodPrivate *inputMethodPrivate = QInputMethodPrivate::get(qApp->inputMethod()); inputMethodPrivate->testContext = &inputContext; @@ -4652,6 +4667,9 @@ void tst_QGraphicsView::QTBUG_4151_clipAndIgnore_data() void tst_QGraphicsView::QTBUG_4151_clipAndIgnore() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(bool, clip); QFETCH(bool, ignoreTransformations); QFETCH(int, numItems); @@ -4717,14 +4735,12 @@ void tst_QGraphicsView::QTBUG_5859_exposedRect() QGraphicsView view(&scene); view.scale(4.15, 4.15); view.showNormal(); - qApp->setActiveWindow(&view); + QApplication::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); - view.viewport()->repaint(10,10,20,20); - QApplication::processEvents(); - - QCOMPARE(item.lastExposedRect, scene.lastBackgroundExposedRect); + view.viewport()->update(10,10,20,20); + QTRY_COMPARE(item.lastExposedRect, scene.lastBackgroundExposedRect); } #ifndef QT_NO_CURSOR @@ -4834,6 +4850,9 @@ QRectF IMItem::mf(1.5, 1.6, 10, 10); void tst_QGraphicsView::QTBUG_16063_microFocusRect() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QGraphicsScene scene; IMItem *item = new IMItem(); scene.addItem(item); diff --git a/tests/auto/widgets/graphicsview/qgraphicswidget/CMakeLists.txt b/tests/auto/widgets/graphicsview/qgraphicswidget/CMakeLists.txt index dd84df4758..7325f7eb21 100644 --- a/tests/auto/widgets/graphicsview/qgraphicswidget/CMakeLists.txt +++ b/tests/auto/widgets/graphicsview/qgraphicswidget/CMakeLists.txt @@ -1,6 +1,16 @@ -add_qt_test("tst_qgraphicswidget" SOURCES tst_qgraphicswidget.cpp - LIBRARIES - Qt::WidgetsPrivate +# Generated from qgraphicswidget.pro. + +##################################################################### +## tst_qgraphicswidget Test: +##################################################################### + +add_qt_test(tst_qgraphicswidget + SOURCES + tst_qgraphicswidget.cpp + PUBLIC_LIBRARIES Qt::CorePrivate + Qt::Gui Qt::GuiPrivate + Qt::Widgets + Qt::WidgetsPrivate ) diff --git a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp index d3477be986..e42640c066 100644 --- a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp @@ -174,7 +174,7 @@ private slots: // Subclass that exposes the protected functions. class SubQGraphicsWidget : public QGraphicsWidget { public: - SubQGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags windowFlags = 0) + SubQGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags windowFlags = { }) : QGraphicsWidget(parent, windowFlags), eventCount(0) { } @@ -254,7 +254,7 @@ protected: class SizeHinter : public QGraphicsWidget { public: - SizeHinter(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0, + SizeHinter(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = { }, const QSizeF &min = QSizeF(5,5), const QSizeF &pref = QSizeF(50, 50), const QSizeF &max = QSizeF(500, 500)) @@ -1186,7 +1186,7 @@ void tst_QGraphicsWidget::layoutDirection() for (int i = 0; i < children.count(); ++i) { QTRY_COMPARE(children[i]->layoutDirection(), layoutDirection); QTRY_COMPARE(children[i]->testAttribute(Qt::WA_SetLayoutDirection), false); - view->repaint(); + view->update(); QTRY_COMPARE(children[i]->m_painterLayoutDirection, layoutDirection); } } @@ -2580,7 +2580,7 @@ void tst_QGraphicsWidget::shortcutsDeletion() class MessUpPainterWidget : public QGraphicsWidget { public: - MessUpPainterWidget(QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0) + MessUpPainterWidget(QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = { }) : QGraphicsWidget(parent, wFlags) {} |