diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2023-08-07 10:36:56 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-08-23 15:30:11 +0200 |
commit | 7cb7f6ab7f6fe91bee674085c6c198ed00fc376a (patch) | |
tree | 878c8af4d22680fe87f7ee12fbf013f4664b9f40 | |
parent | ea674e8369e7f89d951ec5b72ebbb75e4cbb0b29 (diff) |
Remove remaining foreach in quick tests
Task-number: QTBUG-115808
Change-Id: I30c27cf9972257897f15d57d62ff05ad1028b35e
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
14 files changed, 92 insertions, 120 deletions
diff --git a/tests/auto/quick/examples/tst_examples.cpp b/tests/auto/quick/examples/tst_examples.cpp index fa10b2cd39..591216bfd4 100644 --- a/tests/auto/quick/examples/tst_examples.cpp +++ b/tests/auto/quick/examples/tst_examples.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QLibraryInfo> #include <QDir> @@ -109,21 +107,19 @@ void tst_examples::namingConvention(const QDir &d) return; } - QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), - QDir::Files); + const QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), QDir::Files); bool seenQml = !files.isEmpty(); bool seenLowercase = false; - foreach (const QString &file, files) { + for (const QString &file : files) { if (file.at(0).isLower()) seenLowercase = true; } if (!seenQml) { - QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | - QDir::NoSymLinks); - foreach (const QString &dir, dirs) { + const QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks); + for (const QString &dir : dirs) { QDir sub = d; sub.cd(dir); namingConvention(sub); @@ -144,11 +140,12 @@ void tst_examples::namingConvention(const QDir &d) void tst_examples::namingConvention() { - QStringList examplesLocations; - examplesLocations << QLibraryInfo::path(QLibraryInfo::ExamplesPath) + QLatin1String("/qml"); - examplesLocations << QLibraryInfo::path(QLibraryInfo::ExamplesPath) + QLatin1String("/quick"); + const QStringList examplesLocations = { + QLibraryInfo::path(QLibraryInfo::ExamplesPath) + QLatin1String("/qml"), + QLibraryInfo::path(QLibraryInfo::ExamplesPath) + QLatin1String("/quick") + }; - foreach(const QString &examples, examplesLocations) { + for (const QString &examples : examplesLocations) { QDir d(examples); if (d.exists()) namingConvention(d); @@ -167,9 +164,8 @@ QStringList tst_examples::findQmlFiles(const QDir &d) QStringList cppfiles = d.entryList(QStringList() << QLatin1String("*.cpp"), QDir::Files); if (cppfiles.isEmpty()) { - QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), - QDir::Files); - foreach (const QString &file, files) { + const QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), QDir::Files); + for (const QString &file : files) { if (file.at(0).isLower()) { bool superContinue = false; for (int ii = 0; ii < excludedFiles.size(); ++ii) { @@ -187,9 +183,8 @@ QStringList tst_examples::findQmlFiles(const QDir &d) } - QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | - QDir::NoSymLinks); - foreach (const QString &dir, dirs) { + const QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks); + for (const QString &dir : dirs) { QDir sub = d; sub.cd(dir); rv << findQmlFiles(sub); diff --git a/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp b/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp index e52e215bad..dcd2514e92 100644 --- a/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp +++ b/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QSignalSpy> #include <private/qquickitem_p.h> @@ -146,15 +144,16 @@ void tst_qquickanchors::basicAnchorsRTL() qApp->processEvents(); QQuickItem* rootItem = qobject_cast<QQuickItem*>(view->rootObject()); - foreach (QObject *child, rootItem->children()) { + const QObjectList children = rootItem->children(); + for (QObject *child : children) { bool mirrored = QQuickItemPrivate::get(qobject_cast<QQuickItem*>(child))->anchors()->mirrored(); QCOMPARE(mirrored, false); } - foreach (QObject *child, rootItem->children()) + for (QObject *child : children) mirrorAnchors(qobject_cast<QQuickItem*>(child)); - foreach (QObject *child, rootItem->children()) { + for (QObject *child : children) { bool mirrored = QQuickItemPrivate::get(qobject_cast<QQuickItem*>(child))->anchors()->mirrored(); QCOMPARE(mirrored, true); } @@ -276,7 +275,8 @@ void tst_qquickanchors::illegalSets_data() << "Rectangle { id: rect; Rectangle { anchors.left: rect.left; anchors.right: rect.right; anchors.horizontalCenter: rect.horizontalCenter } }" << "<Unknown File>:2:23: QML Rectangle: Cannot specify left, right, and horizontalCenter anchors at the same time."; - foreach (const QString &side, QStringList() << "left" << "right") { + const QStringList leftRight = {"left", "right"}; + for (const QString &side : leftRight) { QTest::newRow("H - anchor to V") << QString("Rectangle { Rectangle { anchors.%1: parent.top } }").arg(side) << "<Unknown File>:2:13: QML Rectangle: Cannot anchor a horizontal edge to a vertical edge."; @@ -299,7 +299,8 @@ void tst_qquickanchors::illegalSets_data() << "Rectangle { Text { id: text1; text: \"Hello\" } Text { anchors.baseline: text1.baseline; anchors.top: text1.top; } }" << "<Unknown File>:2:47: QML Text: Baseline anchor cannot be used in conjunction with top, bottom, or verticalCenter anchors."; - foreach (const QString &side, QStringList() << "top" << "bottom" << "baseline") { + const QStringList topBottomBaseline = {"top", "bottom", "baseline"}; + for (const QString &side : topBottomBaseline) { QTest::newRow("V - anchor to H") << QString("Rectangle { Rectangle { anchors.%1: parent.left } }").arg(side) diff --git a/tests/auto/quick/qquickdesignersupport/tst_qquickdesignersupport.cpp b/tests/auto/quick/qquickdesignersupport/tst_qquickdesignersupport.cpp index 9269a24c50..7f50656607 100644 --- a/tests/auto/quick/qquickdesignersupport/tst_qquickdesignersupport.cpp +++ b/tests/auto/quick/qquickdesignersupport/tst_qquickdesignersupport.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QtQml/qqmlengine.h> #include <QtQml/qqmlcomponent.h> @@ -560,14 +558,15 @@ void doComponentCompleteRecursive(QObject *object) QList<QObject*> childList = object->children(); if (item) { - foreach (QQuickItem *childItem, item->childItems()) { + const auto childItems = item->childItems(); + for (QQuickItem *childItem : childItems) { if (!childList.contains(childItem)) childList.append(childItem); } } - foreach (QObject *child, childList) - doComponentCompleteRecursive(child); + for (QObject *child : std::as_const(childList)) + doComponentCompleteRecursive(child); if (item) { static_cast<QQmlParserStatus*>(item)->componentComplete(); diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp index 9c19dcf26e..1ec5719ee2 100644 --- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp +++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <QtTest/QtTest> #include <QtCore/qstringlistmodel.h> #include <QtQuick/qquickview.h> @@ -2717,14 +2715,14 @@ void tst_QQuickGridView::mirroring() QCOMPARE(gridviewA->layoutDirection(), gridviewA->effectiveLayoutDirection()); // LTR != RTL - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::LeftToRight); gridviewB->setProperty("layoutDirection", Qt::LeftToRight); // LTR == LTR - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); QCOMPARE(gridviewB->layoutDirection(), gridviewB->effectiveLayoutDirection()); @@ -2732,25 +2730,25 @@ void tst_QQuickGridView::mirroring() QVERIFY(gridviewB->layoutDirection() != gridviewB->effectiveLayoutDirection()); // LTR != LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::RightToLeft); // RTL == LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewB->setProperty("layoutDirection", Qt::RightToLeft); // RTL != RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::LeftToRight); // LTR == RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); delete windowA; @@ -5792,7 +5790,8 @@ void tst_QQuickGridView::multipleDisplaced() QTRY_VERIFY(gridview->property("displaceTransitionsDone").toBool()); QVariantMap transitionsStarted = gridview->property("displaceTransitionsStarted").toMap(); - foreach (const QString &name, transitionsStarted.keys()) { + const QStringList keys = transitionsStarted.keys(); + for (const QString &name : keys) { QVERIFY2(transitionsStarted[name] == 1, QTest::toString(QString("%1 was displaced %2 times").arg(name).arg(transitionsStarted[name].toInt()))); } diff --git a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp index 1f522b703e..aa6826197b 100644 --- a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp +++ b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QtTest/QtTest> #include <QtQml/qqmlengine.h> @@ -425,21 +423,19 @@ void tst_qquickimageprovider::threadTest() QObject *obj = component.create(); //MUST not deadlock QVERIFY(obj != nullptr); - QList<QQuickImage *> images = obj->findChildren<QQuickImage *>(); + const QList<QQuickImage *> images = obj->findChildren<QQuickImage *>(); QCOMPARE(images.size(), 4); QTest::qWait(100); - foreach (QQuickImage *img, images) { + for (QQuickImage *img : images) QCOMPARE(img->status(), QQuickImage::Loading); - } { QMutexLocker lock(&provider->mutex); provider->ok = true; provider->cond.wakeAll(); } QTest::qWait(250); - foreach (QQuickImage *img, images) { + for (QQuickImage *img : images) QTRY_COMPARE(img->status(), QQuickImage::Ready); - } } class TestImageResponseRunner : public QObject, public QRunnable { @@ -544,21 +540,19 @@ void tst_qquickimageprovider::asyncTextureTest() QObject *obj = component.create(); //MUST not deadlock QVERIFY(obj != nullptr); - QList<QQuickImage *> images = obj->findChildren<QQuickImage *>(); + const QList<QQuickImage *> images = obj->findChildren<QQuickImage *>(); QCOMPARE(images.size(), 4); QTRY_COMPARE(provider->pool.activeThreadCount(), 4); - foreach (QQuickImage *img, images) { + for (QQuickImage *img : images) QTRY_COMPARE(img->status(), QQuickImage::Loading); - } { QMutexLocker lock(&provider->lock); provider->ok = true; provider->condition.wakeAll(); } - foreach (QQuickImage *img, images) { + for (QQuickImage *img : images) QTRY_COMPARE(img->status(), QQuickImage::Ready); - } } class InstantAsyncImageResponse : public QQuickImageResponse diff --git a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp index ec7c9b40d0..eab5d98d9b 100644 --- a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp +++ b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QtTest/QSignalSpy> #include <QtQml/qqmlengine.h> @@ -3271,93 +3269,93 @@ void tst_QQuickItem::changeListener() listeners << new TestListener(true); // itemVisibilityChanged x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Visibility); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setVisible(false); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Visibility), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemRotationChanged x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Rotation); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setRotation(90); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Rotation), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemOpacityChanged x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Opacity); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setOpacity(0.5); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Opacity), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemChildAdded() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Children); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); child1 = new QQuickItem(parent); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Children), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemParentChanged() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(child1)->addItemChangeListener(listener, QQuickItemPrivate::Parent); QCOMPARE(QQuickItemPrivate::get(child1)->changeListeners.size(), listeners.size()); child1->setParentItem(nullptr); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Parent), 1); QCOMPARE(QQuickItemPrivate::get(child1)->changeListeners.size(), 0); // itemImplicitWidthChanged() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::ImplicitWidth); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setImplicitWidth(parent->implicitWidth() + 1); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::ImplicitWidth), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemImplicitHeightChanged() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::ImplicitHeight); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setImplicitHeight(parent->implicitHeight() + 1); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::ImplicitHeight), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemGeometryChanged() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Geometry); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); parent->setWidth(parent->width() + 1); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Geometry), 1); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemChildRemoved() x 5 child1->setParentItem(parent); - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Children); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); delete child1; - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Children), 2); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), 0); // itemDestroyed() x 5 - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QQuickItemPrivate::get(parent)->addItemChangeListener(listener, QQuickItemPrivate::Destroyed); QCOMPARE(QQuickItemPrivate::get(parent)->changeListeners.size(), listeners.size()); delete parent; - foreach (TestListener *listener, listeners) + for (TestListener *listener : std::as_const(listeners)) QCOMPARE(listener->count(QQuickItemPrivate::Destroyed), 1); } diff --git a/tests/auto/quick/qquicklistview/CMakeLists.txt b/tests/auto/quick/qquicklistview/CMakeLists.txt index e621fb01d1..cee287ae41 100644 --- a/tests/auto/quick/qquicklistview/CMakeLists.txt +++ b/tests/auto/quick/qquicklistview/CMakeLists.txt @@ -26,8 +26,6 @@ qt_internal_add_test(tst_qquicklistview randomsortmodel.cpp randomsortmodel.h reusemodel.h tst_qquicklistview.cpp - NO_PCH_SOURCES - tst_qquicklistview.cpp # undef QT_NO_FOREACH LIBRARIES Qt::CorePrivate Qt::Gui diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index 9ef91ed3a9..cde951fc6a 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <QtTest/QtTest> #include <QtCore/QStringListModel> #include <QtCore/QSortFilterProxyModel> @@ -5061,14 +5059,14 @@ void tst_QQuickListView::test_mirroring() QCOMPARE(listviewA->layoutDirection(), listviewA->effectiveLayoutDirection()); // LTR != RTL - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(listviewA, objectName)->x() != findItem<QQuickItem>(listviewB, objectName)->x()); listviewA->setProperty("layoutDirection", Qt::LeftToRight); listviewB->setProperty("layoutDirection", Qt::LeftToRight); // LTR == LTR - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(listviewA, objectName)->x(), findItem<QQuickItem>(listviewB, objectName)->x()); QCOMPARE(listviewB->layoutDirection(), listviewB->effectiveLayoutDirection()); @@ -5076,25 +5074,25 @@ void tst_QQuickListView::test_mirroring() QVERIFY(listviewB->layoutDirection() != listviewB->effectiveLayoutDirection()); // LTR != LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(listviewA, objectName)->x() != findItem<QQuickItem>(listviewB, objectName)->x()); listviewA->setProperty("layoutDirection", Qt::RightToLeft); // RTL == LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(listviewA, objectName)->x(), findItem<QQuickItem>(listviewB, objectName)->x()); listviewB->setProperty("layoutDirection", Qt::RightToLeft); // RTL != RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(listviewA, objectName)->x() != findItem<QQuickItem>(listviewB, objectName)->x()); listviewA->setProperty("layoutDirection", Qt::LeftToRight); // LTR == RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(listviewA, objectName)->x(), findItem<QQuickItem>(listviewB, objectName)->x()); } @@ -7888,7 +7886,8 @@ void tst_QQuickListView::multipleDisplaced() QTRY_VERIFY(listview->property("displaceTransitionsDone").toBool()); QVariantMap transitionsStarted = listview->property("displaceTransitionsStarted").toMap(); - foreach (const QString &name, transitionsStarted.keys()) { + const QStringList keys = transitionsStarted.keys(); + for (const QString &name : keys) { QVERIFY2(transitionsStarted[name] == 1, qPrintable(QString("%1 was displaced %2 times").arg(name).arg(transitionsStarted[name].toInt()))); } @@ -8421,7 +8420,7 @@ void tst_QQuickListView::stickyPositioning() listview->positionViewAtIndex(positionIndex, positionMode); - foreach (const QPointF &offset, movement) { + for (const QPointF &offset : std::as_const(movement)) { listview->setContentX(listview->contentX() + offset.x()); listview->setContentY(listview->contentY() + offset.y()); } diff --git a/tests/auto/quick/qquickloader/tst_qquickloader.cpp b/tests/auto/quick/qquickloader/tst_qquickloader.cpp index b76d4e4312..709deddc91 100644 --- a/tests/auto/quick/qquickloader/tst_qquickloader.cpp +++ b/tests/auto/quick/qquickloader/tst_qquickloader.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QSignalSpy> @@ -708,7 +706,7 @@ void tst_QQuickLoader::initialPropertyValues() ThreadedTestHTTPServer server(dataDirectory()); - foreach (const QString &warning, expectedWarnings) + for (const QString &warning : std::as_const(expectedWarnings)) QTest::ignoreMessage(QtWarningMsg, QRegularExpression(warning.toLatin1().constData())); QQmlEngine engine; @@ -767,7 +765,7 @@ void tst_QQuickLoader::initialPropertyValuesError() QFETCH(QUrl, qmlFile); QFETCH(QStringList, expectedWarnings); - foreach (const QString &warning, expectedWarnings) + for (const QString &warning : std::as_const(expectedWarnings)) QTest::ignoreMessage(QtWarningMsg, warning.toUtf8().constData()); QQmlEngine engine; @@ -922,7 +920,7 @@ void tst_QQuickLoader::asynchronous() QQuickLoader *loader = root->findChild<QQuickLoader*>("loader"); QVERIFY(loader); - foreach (const QString &warning, expectedWarnings) + for (const QString &warning : std::as_const(expectedWarnings)) QTest::ignoreMessage(QtWarningMsg, warning.toUtf8().constData()); QVERIFY(!loader->item()); diff --git a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp index fb0b1d2f7a..4764d7fa03 100644 --- a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp +++ b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <QtTest/QtTest> #include <QtQuick/qquickview.h> #include <QtQml/qqmlengine.h> @@ -863,10 +861,9 @@ void tst_QQuickPathView::dataModel() model.moveItem(3, 5); QTRY_COMPARE(findItems<QQuickItem>(pathview, "wrapper").size(), 5); - QList<QQuickItem*> items = findItems<QQuickItem>(pathview, "wrapper"); - foreach (QQuickItem *item, items) { + const QList<QQuickItem *> items = findItems<QQuickItem>(pathview, "wrapper"); + for (QQuickItem *item : items) QVERIFY(item->property("onPath").toBool()); - } QCOMPARE(pathview->currentItem(), findItem<QQuickItem>(pathview, "wrapper", 1)); // QTBUG-14199 @@ -2504,7 +2501,8 @@ void tst_QQuickPathView::qtbug37815() const int pathItemCount = pathView->pathItemCount(); const int cacheItemCount = pathView->cacheItemCount(); int totalCount = 0; - foreach (QQuickItem *item, pathView->childItems()) { + const auto childItems = pathView->childItems(); + for (QQuickItem *item : childItems) { if (item->objectName().startsWith(QLatin1String("delegate"))) ++totalCount; } @@ -2573,7 +2571,8 @@ void tst_QQuickPathView::qtbug53464() const int pathItemCount = pathView->pathItemCount(); int totalCount = 0; - foreach (QQuickItem *item, pathView->childItems()) { + const auto childItems = pathView->childItems(); + for (QQuickItem *item : childItems) { if (item->objectName().startsWith(QLatin1String("delegate"))) ++totalCount; } diff --git a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp index 6f572d16a8..eb391894a5 100644 --- a/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp +++ b/tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <QtTest/QtTest> #include <QtQuick/qquickview.h> #include <qqmlengine.h> @@ -3760,7 +3758,7 @@ void tst_qquickpositioners::test_mirroring() QList<QString> objectNames; objectNames << "one" << "two" << "three" << "four" << "five"; - foreach (const QString qmlFile, qmlFiles) { + for (const QString &qmlFile : std::as_const(qmlFiles)) { QScopedPointer<QQuickView> windowA(createView(testFile(qmlFile))); QQuickItem *rootA = qobject_cast<QQuickItem*>(windowA->rootObject()); @@ -3773,7 +3771,7 @@ void tst_qquickpositioners::test_mirroring() rootA->setProperty("testRightToLeft", true); // layoutDirection: Qt.RightToLeft // LTR != RTL - foreach (const QString objectName, objectNames) { + for (const QString &objectName : std::as_const(objectNames)) { // horizontal.qml and horizontal-padding.qml only have three items if (qmlFile.startsWith(QString("horizontal")) && objectName == QString("four")) break; @@ -3788,7 +3786,7 @@ void tst_qquickpositioners::test_mirroring() inheritProp.write(true); // RTL == mirror - foreach (const QString objectName, objectNames) { + for (const QString &objectName : std::as_const(objectNames)) { // horizontal.qml and horizontal-padding.qml only have three items if (qmlFile.startsWith(QString("horizontal")) && objectName == QString("four")) break; @@ -3809,7 +3807,7 @@ void tst_qquickpositioners::test_mirroring() rootB->setProperty("testRightToLeft", true); // layoutDirection: Qt.RightToLeft // LTR == RTL + mirror - foreach (const QString objectName, objectNames) { + for (const QString objectName : std::as_const(objectNames)) { // horizontal.qml and horizontal-padding.qml only have three items if (qmlFile.startsWith(QString("horizontal")) && objectName == QString("four")) break; diff --git a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp index 0adb3fc8a0..1df346dc93 100644 --- a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp +++ b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #include <QtTest/QSignalSpy> #include <QtQuickTestUtils/private/qmlutils_p.h> @@ -1880,7 +1878,7 @@ void tst_qquicktextinput::maxLength() QVERIFY(textinputObject != nullptr); QVERIFY(textinputObject->text().isEmpty()); QCOMPARE(textinputObject->maxLength(), 10); - foreach (const QString &str, standard) { + for (const QString &str : std::as_const(standard)) { QVERIFY(textinputObject->text().size() <= 10); textinputObject->setText(str); QVERIFY(textinputObject->text().size() <= 10); diff --git a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp index 39a45f0f4c..c382999907 100644 --- a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp +++ b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <QtQuickTestUtils/private/qmlutils_p.h> #include <QtQuickTestUtils/private/visualtestutils_p.h> #include <QtQuickTestUtils/private/viewtestutils_p.h> @@ -62,7 +60,7 @@ public: struct Branch { Branch(Branch *parent = nullptr) : parent(parent) {} - ~Branch() { foreach (const Node &child, children) delete child.branch; } + ~Branch() { for (const Node &child : std::as_const(children)) delete child.branch; } int indexOf(Branch *branch) const { for (int i = 0; i < children.size(); ++i) { if (children.at(i).branch == branch) @@ -78,7 +76,7 @@ public: SingleRoleModel(const QStringList &list = QStringList(), const QByteArray &role = "name", QObject *parent = nullptr) : QAbstractItemModel(parent), m_role(role) { - foreach (const QString &string, list) + for (const QString &string : list) trunk.children.append(Node(string)); } ~SingleRoleModel() {} @@ -185,7 +183,7 @@ public: QStringList getList() const { QStringList list; - foreach (const Node &node, trunk.children) + for (const Node &node : trunk.children) list.append(node.display); return list; } @@ -193,13 +191,13 @@ public: void setList(const QStringList &l) { if (trunk.children.size() > 0) { beginRemoveRows(QModelIndex(), 0, trunk.children.size() - 1); - foreach (const Node &child, trunk.children) delete child.branch; + for (const Node &child : std::as_const(trunk.children)) delete child.branch; trunk.children.clear(); endRemoveRows(); } if (l.size() > 0) { beginInsertRows(QModelIndex(), 0, l.size() -1); - foreach (const QString &string, l) + for (const QString &string : l) trunk.children.append(Node(string)); endInsertRows(); } @@ -2262,7 +2260,7 @@ void tst_qquickvisualdatamodel::onChanged() evaluate<void>(object.data(), expression); - foreach (const QString &test, tests) { + for (const QString &test : std::as_const(tests)) { bool passed = evaluate<bool>(object.data(), test); if (!passed) qWarning() << test; diff --git a/tests/auto/quick/scenegraph/tst_scenegraph.cpp b/tests/auto/quick/scenegraph/tst_scenegraph.cpp index d40b2b3ad3..63c159878b 100644 --- a/tests/auto/quick/scenegraph/tst_scenegraph.cpp +++ b/tests/auto/quick/scenegraph/tst_scenegraph.cpp @@ -1,8 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include <qtest.h> #if QT_CONFIG(opengl) @@ -374,16 +372,16 @@ void tst_SceneGraph::render_data() QRegularExpression baseSamples("#base: *(\\d+) *(\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+)"); QRegularExpression finalSamples("#final: *(\\d+) *(\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+) *(\\d\\.\\d+)"); - foreach (QString fileName, files) { + for (QString fileName : std::as_const(files)) { QFile file(testFile(fileName)); if (!file.open(QFile::ReadOnly)) { qFatal("render_data: QFile::open failed! file=%s, error=%s", qPrintable(fileName), qPrintable(file.errorString())); } - QStringList contents = QString::fromLatin1(file.readAll()).split(QLatin1Char('\n')); + const QStringList contents = QString::fromLatin1(file.readAll()).split(QLatin1Char('\n')); int samples = -1; - foreach (QString line, contents) { + for (const QString &line : contents) { auto match = sampleCount.match(line); if (match.hasMatch()) { samples = match.captured(1).toInt(); @@ -394,7 +392,7 @@ void tst_SceneGraph::render_data() qFatal("render_data: failed to find string '#samples: [count], file=%s", qPrintable(fileName)); QList<Sample> baseStage, finalStage; - foreach (QString line, contents) { + for (const QString &line : contents) { auto match = baseSamples.match(line); if (match.hasMatch()) baseStage << sample_from_regexp(&match); |