From 0603c8be97da806de02d0bac81733541f0749946 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 8 Aug 2023 10:54:07 +0200 Subject: [PATCH] tests: port assorted trivial uses of Q_FOREACH to ranged for loops MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All of these fall into the trivial category: loops over (readily made) const local containers. As such, they cannot possibly depend on the safety copy that Q_FOREACH performs, so are safe to port as-is to ranged for loops. There may be more where these came from, but these were the ones that stood out as immediately obvious when scanning the 100s of uses in qtbase, so I preferred to directly fix them over white-listing their files with QT_NO_FOREACH (which still may be necessary for some files, as this patch may not port all uses in that file). Task-nubmber: QTBUG-115839 Change-Id: I7b7893bec8254f902660dac24167113aca855029 Reviewed-by: Fabian Kosmale Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Ivan Solovev (cherry picked from commit f2f8820073488c89fb71e3eb2d2e87bb582c3995) Reviewed-by: Qt Cherry-pick Bot --- .../plugin/qpluginloader/tst_qpluginloader.cpp | 4 ++-- .../qfilesystemmodel/tst_qfilesystemmodel.cpp | 5 +++-- .../gui/text/qfontdatabase/tst_qfontdatabase.cpp | 4 ++-- tests/auto/gui/text/qrawfont/tst_qrawfont.cpp | 4 ++-- .../access/qnetworkrequest/tst_qnetworkrequest.cpp | 4 ++-- .../network/kernel/qdnslookup/tst_qdnslookup.cpp | 4 ++-- .../qnetworkinterface/tst_qnetworkinterface.cpp | 4 ++-- .../network/socket/qtcpsocket/tst_qtcpsocket.cpp | 4 ++-- .../ssl/qsslcertificate/tst_qsslcertificate.cpp | 4 ++-- .../kernel/qprinterinfo/tst_qprinterinfo.cpp | 4 ++-- tests/auto/tools/macdeployqt/tst_macdeployqt.cpp | 2 +- tests/baseline/shared/paintcommands.cpp | 4 ++-- tests/manual/gestures/graphicsview/main.cpp | 4 ++-- tests/manual/highdpi/kitchensink/dragwidget.cpp | 6 +++--- tests/manual/qgraphicsitemgroup/customitem.cpp | 8 ++++---- tests/manual/qgraphicsitemgroup/widget.cpp | 12 ++++++------ tests/manual/qlocale/window.cpp | 4 ++-- tests/manual/qscreen/propertywatcher.cpp | 4 ++-- 18 files changed, 43 insertions(+), 42 deletions(-) diff --git a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp index e6d1785dcab..7ae76bf9c95 100644 --- a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp +++ b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp @@ -856,8 +856,8 @@ void tst_QPluginLoader::loadMachO_data() QTest::newRow("machtest/good.fat.stub-i386.dylib") << false; QDir d(QFINDTESTDATA("machtest")); - QStringList badlist = d.entryList(QStringList() << "bad*.dylib"); - foreach (const QString &bad, badlist) + const QStringList badlist = d.entryList(QStringList() << "bad*.dylib"); + for (const QString &bad : badlist) QTest::newRow(qPrintable("machtest/" + bad)) << false; #endif } diff --git a/tests/auto/gui/itemmodels/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/gui/itemmodels/qfilesystemmodel/tst_qfilesystemmodel.cpp index 3802f8afc61..6f7aa0e1804 100644 --- a/tests/auto/gui/itemmodels/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/gui/itemmodels/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -1028,11 +1028,12 @@ void tst_QFileSystemModel::drives() QFileSystemModel model; model.setRootPath(path); model.fetchMore(QModelIndex()); - QFileInfoList drives = QDir::drives(); + const QFileInfoList drives = QDir::drives(); int driveCount = 0; - foreach(const QFileInfo& driveRoot, drives) + for (const QFileInfo& driveRoot : drives) { if (driveRoot.exists()) driveCount++; + } QTRY_COMPARE(model.rowCount(), driveCount); } diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp index 665ee75a35f..172cb2480bc 100644 --- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp @@ -319,8 +319,8 @@ void tst_QFontDatabase::fallbackFonts() layout.createLine(); layout.endLayout(); - QList runs = layout.glyphRuns(0, 1); - foreach (QGlyphRun run, runs) { + const QList runs = layout.glyphRuns(0, 1); + for (QGlyphRun run : runs) { QRawFont rawFont = run.rawFont(); QVERIFY(rawFont.isValid()); diff --git a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp index 8b203f439e7..3c45a18ab24 100644 --- a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp +++ b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp @@ -490,7 +490,7 @@ void tst_QRawFont::supportedWritingSystems_data() void tst_QRawFont::supportedWritingSystems() { QFETCH(QString, fileName); - QFETCH(WritingSystemList, writingSystems); + QFETCH(const WritingSystemList, writingSystems); QFETCH(QFont::HintingPreference, hintingPreference); QRawFont font(fileName, 10, hintingPreference); @@ -499,7 +499,7 @@ void tst_QRawFont::supportedWritingSystems() WritingSystemList actualWritingSystems = font.supportedWritingSystems(); QCOMPARE(actualWritingSystems.size(), writingSystems.size()); - foreach (QFontDatabase::WritingSystem writingSystem, writingSystems) + for (QFontDatabase::WritingSystem writingSystem : writingSystems) QVERIFY(actualWritingSystems.contains(writingSystem)); } diff --git a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp index c04530d0853..356400f6a85 100644 --- a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp +++ b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp @@ -166,11 +166,11 @@ void tst_QNetworkRequest::rawHeaderList_data() void tst_QNetworkRequest::rawHeaderList() { - QFETCH(QList, set); + QFETCH(const QList, set); QFETCH(QList, expected); QNetworkRequest request; - foreach (QByteArray header, set) + for (const QByteArray &header : set) request.setRawHeader(header, "a value"); QList got = request.rawHeaderList(); diff --git a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp index 1b7e8db7b19..89d9063f8e4 100644 --- a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp +++ b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp @@ -190,9 +190,9 @@ QString tst_QDnsLookup::domainName(const QString &input) QString tst_QDnsLookup::domainNameList(const QString &input) { - QStringList list = input.split(QLatin1Char(';')); + const QStringList list = input.split(QLatin1Char(';')); QString result; - foreach (const QString &s, list) { + for (const QString &s : list) { if (!result.isEmpty()) result += ';'; result += domainName(s); diff --git a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp index 36027d89da9..db06b839408 100644 --- a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp +++ b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp @@ -71,8 +71,8 @@ void tst_QNetworkInterface::initTestCase() void tst_QNetworkInterface::dump() { // This is for manual testing: - QList allInterfaces = QNetworkInterface::allInterfaces(); - foreach (const QNetworkInterface &i, allInterfaces) { + const QList allInterfaces = QNetworkInterface::allInterfaces(); + for (const QNetworkInterface &i : allInterfaces) { QString flags; if (i.flags() & QNetworkInterface::IsUp) flags += "Up,"; if (i.flags() & QNetworkInterface::IsRunning) flags += "Running,"; diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp index 4e08b5a30fa..c1b89f9e56a 100644 --- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp @@ -487,8 +487,8 @@ void tst_QTcpSocket::bind_data() bool testIpv6 = false; // iterate all interfaces, add all addresses on them as test data - QList interfaces = QNetworkInterface::allInterfaces(); - foreach (const QNetworkInterface &netinterface, interfaces) { + const QList interfaces = QNetworkInterface::allInterfaces(); + for (const QNetworkInterface &netinterface : interfaces) { if (!netinterface.isValid()) continue; diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp index 282bec95ef0..852825b5d92 100644 --- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp +++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp @@ -138,13 +138,13 @@ void tst_QSslCertificate::initTestCase() testDataDir += QLatin1String("/"); QDir dir(testDataDir + "certificates"); - QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::Readable); + const QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::Readable); QRegularExpression rxCert(QLatin1String("^.+\\.(pem|der)$")); QRegularExpression rxSan(QLatin1String("^(.+\\.(?:pem|der))\\.san$")); QRegularExpression rxPubKey(QLatin1String("^(.+\\.(?:pem|der))\\.pubkey$")); QRegularExpression rxDigest(QLatin1String("^(.+\\.(?:pem|der))\\.digest-(md5|sha1)$")); QRegularExpressionMatch match; - foreach (QFileInfo fileInfo, fileInfoList) { + for (const QFileInfo &fileInfo : fileInfoList) { if ((match = rxCert.match(fileInfo.fileName())).hasMatch()) certInfoList << CertInfo(fileInfo, diff --git a/tests/auto/printsupport/kernel/qprinterinfo/tst_qprinterinfo.cpp b/tests/auto/printsupport/kernel/qprinterinfo/tst_qprinterinfo.cpp index c883df86376..4c25e6f17fe 100644 --- a/tests/auto/printsupport/kernel/qprinterinfo/tst_qprinterinfo.cpp +++ b/tests/auto/printsupport/kernel/qprinterinfo/tst_qprinterinfo.cpp @@ -336,11 +336,11 @@ void tst_QPrinterInfo::testAssignment() void tst_QPrinterInfo::namedPrinter() { - QList printers = QPrinterInfo::availablePrinters(); + const QList printers = QPrinterInfo::availablePrinters(); QStringList printerNames; - foreach (const QPrinterInfo &pi, printers) { + for (const QPrinterInfo &pi : printers) { QPrinterInfo pi2 = QPrinterInfo::printerInfo(pi.printerName()); QCOMPARE(pi2.printerName(), pi.printerName()); QCOMPARE(pi2.description(), pi.description()); diff --git a/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp b/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp index 95608541978..3953452bf84 100644 --- a/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp +++ b/tests/auto/tools/macdeployqt/tst_macdeployqt.cpp @@ -199,7 +199,7 @@ void runVerifyDeployment(const QString &name) const QList parts = QString::fromLocal8Bit(libraries).split("dyld: loaded:"); const QString qtPath = QLibraryInfo::path(QLibraryInfo::PrefixPath); // Let assume Qt is not installed in system - foreach (QString part, parts) { + for (const QString &part : parts) { part = part.trimmed(); if (part.isEmpty()) continue; diff --git a/tests/baseline/shared/paintcommands.cpp b/tests/baseline/shared/paintcommands.cpp index 1af6de1e089..2aef532b28c 100644 --- a/tests/baseline/shared/paintcommands.cpp +++ b/tests/baseline/shared/paintcommands.cpp @@ -745,8 +745,8 @@ void PaintCommands::runCommand(const QString &scriptLine) return; } QString firstWord = scriptLine.section(separators, 0, 0); - QList indices = s_commandHash.values(firstWord); - foreach(int idx, indices) { + const QList indices = s_commandHash.values(firstWord); + for (int idx : indices) { PaintCommandInfos command = s_commandInfoTable.at(idx); Q_ASSERT(command.regExp.isValid()); QRegularExpressionMatch match = command.regExp.match(scriptLine); diff --git a/tests/manual/gestures/graphicsview/main.cpp b/tests/manual/gestures/graphicsview/main.cpp index 615c5f4d43d..a567376ac9c 100644 --- a/tests/manual/gestures/graphicsview/main.cpp +++ b/tests/manual/gestures/graphicsview/main.cpp @@ -143,8 +143,8 @@ MainWindow::MainWindow() void MainWindow::setDirectory(const QString &path) { QDir dir(path); - QStringList files = dir.entryList(QDir::Files | QDir::Readable | QDir::NoDotAndDotDot); - foreach(const QString &file, files) { + const QStringList files = dir.entryList(QDir::Files | QDir::Readable | QDir::NoDotAndDotDot); + for (const QString &file : files) { QImageReader img(path + QLatin1Char('/') +file); QImage image = img.read(); if (!image.isNull()) { diff --git a/tests/manual/highdpi/kitchensink/dragwidget.cpp b/tests/manual/highdpi/kitchensink/dragwidget.cpp index 22393f04166..fe48ccf25d9 100644 --- a/tests/manual/highdpi/kitchensink/dragwidget.cpp +++ b/tests/manual/highdpi/kitchensink/dragwidget.cpp @@ -84,8 +84,8 @@ void DragWidget::dropEvent(QDropEvent *event) { if (event->mimeData()->hasText()) { const QMimeData *mime = event->mimeData(); - QStringList pieces = mime->text().split(QRegularExpression("\\s+"), - Qt::SkipEmptyParts); + const QStringList pieces = mime->text().split(QRegularExpression("\\s+"), + Qt::SkipEmptyParts); QPoint position = event->pos(); QPoint hotSpot; @@ -98,7 +98,7 @@ void DragWidget::dropEvent(QDropEvent *event) dropTimer.start(500, this); update(); - foreach (QString piece, pieces) { + for (const QString &piece : pieces) { FramedLabel *newLabel = new FramedLabel(piece, this); newLabel->move(position - hotSpot); newLabel->show(); diff --git a/tests/manual/qgraphicsitemgroup/customitem.cpp b/tests/manual/qgraphicsitemgroup/customitem.cpp index 77b023337ef..b305f74ae14 100644 --- a/tests/manual/qgraphicsitemgroup/customitem.cpp +++ b/tests/manual/qgraphicsitemgroup/customitem.cpp @@ -9,10 +9,10 @@ QList CustomScene::selectedCustomGroups() const { - QList all = selectedItems(); + const QList all = selectedItems(); QList groups; - foreach (QGraphicsItem *item, all) { + for (QGraphicsItem *item : all) { CustomGroup* group = qgraphicsitem_cast(item); if (group) groups.append(group); @@ -23,10 +23,10 @@ QList CustomScene::selectedCustomGroups() const QList CustomScene::selectedCustomItems() const { - QList all = selectedItems(); + const QList all = selectedItems(); QList items; - foreach (QGraphicsItem *item, all) { + for (QGraphicsItem *item : all) { CustomItem* citem = qgraphicsitem_cast(item); if (citem) items.append(citem); diff --git a/tests/manual/qgraphicsitemgroup/widget.cpp b/tests/manual/qgraphicsitemgroup/widget.cpp index d6005601ca8..2ef479201a6 100644 --- a/tests/manual/qgraphicsitemgroup/widget.cpp +++ b/tests/manual/qgraphicsitemgroup/widget.cpp @@ -95,15 +95,15 @@ void Widget::on_scaleItem_valueChanged(int value) void Widget::on_group_clicked() { - QList all = scene->selectedItems(); + const QList all = scene->selectedItems(); if (all.size() < 2) return; - QList items = scene->selectedCustomItems(); + const QList items = scene->selectedCustomItems(); QList groups = scene->selectedCustomGroups(); if (groups.size() == 1) { - foreach (CustomItem *item, items) { + for (CustomItem *item : items) { item->setSelected(false); groups[0]->addToGroup(item); } @@ -113,7 +113,7 @@ void Widget::on_group_clicked() CustomGroup* group = new CustomGroup; scene->addItem(group); - foreach (QGraphicsItem *item, all) { + for (QGraphicsItem *item : all) { item->setSelected(false); group->addToGroup(item); } @@ -124,9 +124,9 @@ void Widget::on_group_clicked() void Widget::on_dismantle_clicked() { - QList groups = scene->selectedCustomGroups(); + const QList groups = scene->selectedCustomGroups(); - foreach (CustomGroup *group, groups) { + for (CustomGroup *group : groups) { foreach (QGraphicsItem *item, group->childItems()) group->removeFromGroup(item); diff --git a/tests/manual/qlocale/window.cpp b/tests/manual/qlocale/window.cpp index 463360b9cda..a649250917d 100644 --- a/tests/manual/qlocale/window.cpp +++ b/tests/manual/qlocale/window.cpp @@ -16,8 +16,8 @@ Window::Window() localeCombo->addItem("System", QLocale::system()); - QList locales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyTerritory); - foreach (const QLocale &locale, locales) { + const QList locales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyTerritory); + for (const QLocale &locale : locales) { QString label = QLocale::languageToString(locale.language()); label += QLatin1Char('/'); if (locale.script() != QLocale::AnyScript) { diff --git a/tests/manual/qscreen/propertywatcher.cpp b/tests/manual/qscreen/propertywatcher.cpp index 5eec9f275bf..664350fdd4f 100644 --- a/tests/manual/qscreen/propertywatcher.cpp +++ b/tests/manual/qscreen/propertywatcher.cpp @@ -85,8 +85,8 @@ void PropertyWatcher::setSubject(QObject *s, const QString &annotation) void PropertyWatcher::updateAllFields() { - QList fields = findChildren(); - foreach (PropertyField *field, fields) + const QList fields = findChildren(); + for (PropertyField *field : fields) field->propertyChanged(); emit updatedAllFields(this); }