aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-08-07 10:36:56 +0200
committerUlf Hermann <ulf.hermann@qt.io>2023-08-23 15:30:11 +0200
commit7cb7f6ab7f6fe91bee674085c6c198ed00fc376a (patch)
tree878c8af4d22680fe87f7ee12fbf013f4664b9f40
parentea674e8369e7f89d951ec5b72ebbb75e4cbb0b29 (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>
-rw-r--r--tests/auto/quick/examples/tst_examples.cpp31
-rw-r--r--tests/auto/quick/qquickanchors/tst_qquickanchors.cpp15
-rw-r--r--tests/auto/quick/qquickdesignersupport/tst_qquickdesignersupport.cpp9
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp17
-rw-r--r--tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp18
-rw-r--r--tests/auto/quick/qquickitem2/tst_qquickitem.cpp42
-rw-r--r--tests/auto/quick/qquicklistview/CMakeLists.txt2
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp19
-rw-r--r--tests/auto/quick/qquickloader/tst_qquickloader.cpp8
-rw-r--r--tests/auto/quick/qquickpathview/tst_qquickpathview.cpp13
-rw-r--r--tests/auto/quick/qquickpositioners/tst_qquickpositioners.cpp10
-rw-r--r--tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp4
-rw-r--r--tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp14
-rw-r--r--tests/auto/quick/scenegraph/tst_scenegraph.cpp10
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);