From d25589e0529732996e405aaff8d6c46b012e1601 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 10 Jul 2020 11:41:33 +0200 Subject: QTestlib: Enable comparing QList against initializer lists/arrays MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is unnecessary to create a QList container just for comparison. Split out helpers for comparing sequence sizes and sequences from qCompare(QList) and add a template for an array with a non-type template parameter for the size. One can then write something like: const int expected[] = {10, 12,...}; QCOMPARE(QFontDatabase.pointSizes(...), expected) Unfortunately, any commas in such an array will be misread by macro expansion as macro argument separators, so any expected array with more than one entry needs an extra macro expanding __VA_ARGS__. Change-Id: Ie7c8dc20bf669bbb25f6d7f8562455f8d03968c8 Reviewed-by: Qt CI Bot Reviewed-by: Tor Arne Vestbø --- .../qgraphicsscene/tst_qgraphicsscene.cpp | 78 +++++++++++----------- .../qgraphicsview/tst_qgraphicsview.cpp | 6 +- 2 files changed, 41 insertions(+), 43 deletions(-) (limited to 'tests/auto/widgets') diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index 3365ccd179..5ecb401284 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp @@ -647,14 +647,14 @@ void tst_QGraphicsScene::items_QRectF() item3->setZValue(2); item4->setZValue(3); - QCOMPARE(scene.items(QRectF(-10, -10, 10, 10)), QList() << item1); - QCOMPARE(scene.items(QRectF(10, -10, 10, 10)), QList() << item2); - QCOMPARE(scene.items(QRectF(10, 10, 10, 10)), QList() << item3); - QCOMPARE(scene.items(QRectF(-10, 10, 10, 10)), QList() << item4); - QCOMPARE(scene.items(QRectF(-10, -10, 1, 1)), QList() << item1); - QCOMPARE(scene.items(QRectF(10, -10, 1, 1)), QList() << item2); - QCOMPARE(scene.items(QRectF(10, 10, 1, 1)), QList() << item3); - QCOMPARE(scene.items(QRectF(-10, 10, 1, 1)), QList() << item4); + QCOMPARE(scene.items(QRectF(-10, -10, 10, 10)), {item1}); + QCOMPARE(scene.items(QRectF(10, -10, 10, 10)), {item2}); + QCOMPARE(scene.items(QRectF(10, 10, 10, 10)), {item3}); + QCOMPARE(scene.items(QRectF(-10, 10, 10, 10)), {item4}); + QCOMPARE(scene.items(QRectF(-10, -10, 1, 1)), {item1}); + QCOMPARE(scene.items(QRectF(10, -10, 1, 1)), {item2}); + QCOMPARE(scene.items(QRectF(10, 10, 1, 1)), {item3}); + QCOMPARE(scene.items(QRectF(-10, 10, 1, 1)), {item4}); QCOMPARE(scene.items(QRectF(-10, -10, 40, 10)), QList() << item2 << item1); QCOMPARE(scene.items(QRectF(-10, 10, 40, 10)), QList() << item4 << item3); @@ -771,20 +771,20 @@ void tst_QGraphicsScene::items_QPolygonF() QPolygonF poly3(item3->boundingRect()); QPolygonF poly4(item4->boundingRect()); - QCOMPARE(scene.items(poly1), QList() << item1); - QCOMPARE(scene.items(poly2), QList() << item2); - QCOMPARE(scene.items(poly3), QList() << item3); - QCOMPARE(scene.items(poly4), QList() << item4); + QCOMPARE(scene.items(poly1), {item1}); + QCOMPARE(scene.items(poly2), {item2}); + QCOMPARE(scene.items(poly3), {item3}); + QCOMPARE(scene.items(poly4), {item4}); poly1 = QPolygonF(QRectF(-10, -10, 1, 1)); poly2 = QPolygonF(QRectF(10, -10, 1, 1)); poly3 = QPolygonF(QRectF(10, 10, 1, 1)); poly4 = QPolygonF(QRectF(-10, 10, 1, 1)); - QCOMPARE(scene.items(poly1), QList() << item1); - QCOMPARE(scene.items(poly2), QList() << item2); - QCOMPARE(scene.items(poly3), QList() << item3); - QCOMPARE(scene.items(poly4), QList() << item4); + QCOMPARE(scene.items(poly1), {item1}); + QCOMPARE(scene.items(poly2), {item2}); + QCOMPARE(scene.items(poly3), {item3}); + QCOMPARE(scene.items(poly4), {item4}); poly1 = QPolygonF(QRectF(-10, -10, 40, 10)); poly2 = QPolygonF(QRectF(-10, 10, 40, 10)); @@ -861,20 +861,20 @@ void tst_QGraphicsScene::items_QPainterPath() QPainterPath path3; path3.addEllipse(item3->boundingRect()); QPainterPath path4; path4.addEllipse(item4->boundingRect()); - QCOMPARE(scene.items(path1), QList() << item1); - QCOMPARE(scene.items(path2), QList() << item2); - QCOMPARE(scene.items(path3), QList() << item3); - QCOMPARE(scene.items(path4), QList() << item4); + QCOMPARE(scene.items(path1), {item1}); + QCOMPARE(scene.items(path2), {item2}); + QCOMPARE(scene.items(path3), {item3}); + QCOMPARE(scene.items(path4), {item4}); path1 = QPainterPath(); path1.addEllipse(QRectF(-10, -10, 1, 1)); path2 = QPainterPath(); path2.addEllipse(QRectF(10, -10, 1, 1)); path3 = QPainterPath(); path3.addEllipse(QRectF(10, 10, 1, 1)); path4 = QPainterPath(); path4.addEllipse(QRectF(-10, 10, 1, 1)); - QCOMPARE(scene.items(path1), QList() << item1); - QCOMPARE(scene.items(path2), QList() << item2); - QCOMPARE(scene.items(path3), QList() << item3); - QCOMPARE(scene.items(path4), QList() << item4); + QCOMPARE(scene.items(path1), {item1}); + QCOMPARE(scene.items(path2), {item2}); + QCOMPARE(scene.items(path3), {item3}); + QCOMPARE(scene.items(path4), {item4}); path1 = QPainterPath(); path1.addRect(QRectF(-10, -10, 40, 10)); path2 = QPainterPath(); path2.addRect(QRectF(-10, 10, 40, 10)); @@ -983,7 +983,7 @@ void tst_QGraphicsScene::selectionChanged() rect->setSelected(true); QVERIFY(rect->isSelected()); QCOMPARE(spy.count(), 1); // selection changed - QCOMPARE(scene.selectedItems(), QList() << rect); + QCOMPARE(scene.selectedItems(), {rect}); rect->setSelected(false); QVERIFY(!rect->isSelected()); @@ -3889,6 +3889,14 @@ void tst_QGraphicsScene::dispatchHoverOnPress() tester1->eventTypes.clear(); tester2->eventTypes.clear(); + const QEvent::Type initialExpected[] = + {QEvent::GraphicsSceneHoverEnter, QEvent::GraphicsSceneHoverMove, QEvent::GrabMouse, + QEvent::GraphicsSceneMousePress, QEvent::UngrabMouse}; + + const QEvent::Type repeatExpected[] = + {QEvent::GraphicsSceneHoverMove, QEvent::GrabMouse, QEvent::GraphicsSceneMousePress, + QEvent::UngrabMouse}; + { QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMousePress); me.setButton(Qt::LeftButton); @@ -3897,16 +3905,11 @@ void tst_QGraphicsScene::dispatchHoverOnPress() me2.setButton(Qt::LeftButton); QCoreApplication::sendEvent(&scene, &me); QCoreApplication::sendEvent(&scene, &me2); - QCOMPARE(tester1->eventTypes, - QList() << QEvent::GraphicsSceneHoverEnter - << QEvent::GraphicsSceneHoverMove << QEvent::GrabMouse - << QEvent::GraphicsSceneMousePress << QEvent::UngrabMouse); + QCOMPARE(tester1->eventTypes, initialExpected); tester1->eventTypes.clear(); QCoreApplication::sendEvent(&scene, &me); QCoreApplication::sendEvent(&scene, &me2); - QCOMPARE(tester1->eventTypes, - QList() << QEvent::GraphicsSceneHoverMove << QEvent::GrabMouse - << QEvent::GraphicsSceneMousePress << QEvent::UngrabMouse); + QCOMPARE(tester1->eventTypes, repeatExpected); } { QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMousePress); @@ -3920,17 +3923,12 @@ void tst_QGraphicsScene::dispatchHoverOnPress() QCoreApplication::sendEvent(&scene, &me); QCoreApplication::sendEvent(&scene, &me2); qCDebug(lcTests) << tester1->eventTypes; - QCOMPARE(tester1->eventTypes, QList() << QEvent::GraphicsSceneHoverLeave); - QCOMPARE(tester2->eventTypes, - QList() << QEvent::GraphicsSceneHoverEnter - << QEvent::GraphicsSceneHoverMove << QEvent::GrabMouse - << QEvent::GraphicsSceneMousePress << QEvent::UngrabMouse); + QCOMPARE(tester1->eventTypes, {QEvent::GraphicsSceneHoverLeave}); + QCOMPARE(tester2->eventTypes, initialExpected); tester2->eventTypes.clear(); QCoreApplication::sendEvent(&scene, &me); QCoreApplication::sendEvent(&scene, &me2); - QCOMPARE(tester2->eventTypes, - QList() << QEvent::GraphicsSceneHoverMove << QEvent::GrabMouse - << QEvent::GraphicsSceneMousePress << QEvent::UngrabMouse); + QCOMPARE(tester2->eventTypes, repeatExpected); } } diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index 2dddcbe31e..84841428f0 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -948,7 +948,7 @@ void tst_QGraphicsView::rubberBandSelectionMode() sendMousePress(view.viewport(), QPoint(), Qt::LeftButton); sendMouseMove(view.viewport(), view.viewport()->rect().center(), Qt::LeftButton, Qt::LeftButton); - QCOMPARE(scene.selectedItems(), QList() << rect); + QCOMPARE(scene.selectedItems(), {rect}); sendMouseRelease(view.viewport(), QPoint(), Qt::LeftButton); view.setRubberBandSelectionMode(Qt::ContainsItemShape); @@ -960,7 +960,7 @@ void tst_QGraphicsView::rubberBandSelectionMode() QVERIFY(scene.selectedItems().isEmpty()); sendMouseMove(view.viewport(), view.viewport()->rect().bottomRight(), Qt::LeftButton, Qt::LeftButton); - QCOMPARE(scene.selectedItems(), QList() << rect); + QCOMPARE(scene.selectedItems(), {rect}); } void tst_QGraphicsView::rubberBandExtendSelection() @@ -990,7 +990,7 @@ void tst_QGraphicsView::rubberBandExtendSelection() // select first item item1->setSelected(true); - QCOMPARE(scene.selectedItems(), QList() << item1); + QCOMPARE(scene.selectedItems(), {item1}); // first rubberband without modifier key sendMousePress(view.viewport(), view.mapFromScene(20, 115), Qt::LeftButton); -- cgit v1.2.3