From 940306f134ded0a323821526d09f12670495b29c Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 11 Jul 2019 09:54:15 +0200 Subject: Eradicate all but one Q_FOREACH loop Q_FOREACH is going to be deprecated, or at the very least banned from use in Qt code. All these are trivial in the sense that the loop body clearly doesn't modify the container over which we iterate, and that the container is const, or trivially marked as such. In one case, replaced Q_FOREACH + delete + clear() with qDeleteAll(qExchange()), in three others, replaced Qt containers with statically-known content with plain C arrays. Change-Id: I718821811370f0cfefac3893283572d39a7d957d Reviewed-by: VaL Doroshchuk --- .../qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp | 3 ++- .../integration/qaudioinput/tst_qaudioinput.cpp | 2 +- .../integration/qaudiooutput/tst_qaudiooutput.cpp | 2 +- .../qcamerabackend/tst_qcamerabackend.cpp | 11 ++++++----- .../tst_qdeclarativevideooutput.cpp | 4 ++-- .../tst_qmediaplayerbackend.cpp | 2 +- tests/auto/integration/shared/mediafileselector.h | 2 +- .../qmediapluginloader/tst_qmediapluginloader.cpp | 4 ++-- .../qmultimedia_common/mockcameraexposurecontrol.h | 21 +++++++++++++++------ .../tst_qpaintervideosurface.cpp | 22 ++++++++++------------ 10 files changed, 41 insertions(+), 32 deletions(-) (limited to 'tests/auto') diff --git a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp index 9d44dc16f..c946c0894 100644 --- a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp +++ b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp @@ -226,7 +226,8 @@ void tst_QAudioDeviceInfo::equalityOperator() QVERIFY(!(dev1 != dev2)); // Make sure each available device is not equal to null - foreach (const QAudioDeviceInfo info, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput)) { + const auto infos = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput); + for (const QAudioDeviceInfo info : infos) { QVERIFY(dev1 != info); QVERIFY(!(dev1 == info)); diff --git a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp index 64e872f27..bcc50f78a 100644 --- a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp +++ b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp @@ -220,7 +220,7 @@ void tst_QAudioInput::initTestCase() QVERIFY(m_temporaryDir->isValid()); const QString temporaryAudioPath = m_temporaryDir->path() + slash; - foreach (const QAudioFormat &format, testFormats) { + for (const QAudioFormat &format : qAsConst(testFormats)) { const QString fileName = temporaryAudioPath + formatToFileName(format) + QStringLiteral(".wav"); audioFiles.append(FilePtr::create(fileName)); } diff --git a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp index f167bf8ec..f3a676073 100644 --- a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp +++ b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp @@ -264,7 +264,7 @@ void tst_QAudioOutput::initTestCase() QVERIFY(m_temporaryDir->isValid()); const QString temporaryAudioPath = m_temporaryDir->path() + slash; - foreach (const QAudioFormat &format, testFormats) { + for (const QAudioFormat &format : qAsConst(testFormats)) { qint64 len = (format.sampleRate()*format.channelCount()*(format.sampleSize()/8)*2); // 2 seconds createSineWaveData(format, len); // Write generate sine wave data to file diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp index b8d501c12..b0497be2f 100644 --- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp +++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp @@ -113,7 +113,8 @@ void tst_QCameraBackend::testDeviceDescription() if (deviceCount == 0) QVERIFY(QCamera::deviceDescription(QByteArray("random")).isNull()); else { - foreach (const QByteArray &device, QCamera::availableDevices()) + const auto devices = QCamera::availableDevices(); + for (const QByteArray &device : devices) QVERIFY(QCamera::deviceDescription(device).length() > 0); } } @@ -121,14 +122,14 @@ void tst_QCameraBackend::testDeviceDescription() void tst_QCameraBackend::testCameraInfo() { int deviceCount = QMediaServiceProvider::defaultServiceProvider()->devices(QByteArray(Q_MEDIASERVICE_CAMERA)).count(); - QList cameras = QCameraInfo::availableCameras(); + const QList cameras = QCameraInfo::availableCameras(); QCOMPARE(cameras.count(), deviceCount); if (cameras.isEmpty()) { QVERIFY(QCameraInfo::defaultCamera().isNull()); QSKIP("Camera selection is not supported"); } - foreach (const QCameraInfo &info, cameras) { + for (const QCameraInfo &info : cameras) { QVERIFY(!info.deviceName().isEmpty()); QVERIFY(!info.description().isEmpty()); QVERIFY(info.orientation() % 90 == 0); @@ -624,9 +625,9 @@ void tst_QCameraBackend::testVideoRecording_data() { QTest::addColumn("device"); - QList devices = QCamera::availableDevices(); + const QList devices = QCamera::availableDevices(); - foreach (const QByteArray &device, devices) { + for (const QByteArray &device : devices) { QTest::newRow(QCamera::deviceDescription(device).toUtf8()) << device; } diff --git a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp index 5b9fdd03c..798b63f96 100644 --- a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp +++ b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp @@ -280,11 +280,11 @@ void tst_QDeclarativeVideoOutput::surfaceSource() QVERIFY(holder.videoSurface() != 0); // Now we could do things with the surface.. - QList formats = holder.videoSurface()->supportedPixelFormats(); + const QList formats = holder.videoSurface()->supportedPixelFormats(); QVERIFY(formats.count() > 0); // See if we can start and stop each pixel format (..) - foreach (QVideoFrame::PixelFormat format, formats) { + for (QVideoFrame::PixelFormat format : formats) { QVideoSurfaceFormat surfaceFormat(QSize(200,100), format); QVERIFY(holder.videoSurface()->isFormatSupported(surfaceFormat)); // This does kind of depend on node factories diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index a776602a0..a61352a18 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -152,7 +152,7 @@ QMediaContent tst_QMediaPlayerBackend::selectVideoFile(const QStringList& mediaC QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error))); - foreach (QString s, mediaCandidates) { + for (const QString &s : mediaCandidates) { QFileInfo videoFile(s); if (!videoFile.exists()) continue; diff --git a/tests/auto/integration/shared/mediafileselector.h b/tests/auto/integration/shared/mediafileselector.h index 8b88d14a4..984da6e2b 100644 --- a/tests/auto/integration/shared/mediafileselector.h +++ b/tests/auto/integration/shared/mediafileselector.h @@ -42,7 +42,7 @@ static QMediaContent selectMediaFile(const QStringList& mediaCandidates) QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error))); - foreach (QString s, mediaCandidates) { + for (const QString &s : mediaCandidates) { QFileInfo mediaFile(s); if (!mediaFile.exists()) continue; diff --git a/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp b/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp index 3a7b661df..ce1b2b9d0 100644 --- a/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp +++ b/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp @@ -72,7 +72,7 @@ void tst_QMediaPluginLoader::testInstance() if (keys.isEmpty()) // Test is invalidated, skip. QSKIP("No plug-ins available"); - foreach (const QString &key, keys) + for (const QString &key : keys) QVERIFY(loader->instance(key) != 0); } @@ -83,7 +83,7 @@ void tst_QMediaPluginLoader::testInstances() if (keys.isEmpty()) // Test is invalidated, skip. QSKIP("No plug-ins available"); - foreach (const QString &key, keys) + for (const QString &key : keys) QVERIFY(loader->instances(key).size() > 0); } diff --git a/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h b/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h index 017615aa9..1b2372cf5 100644 --- a/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h +++ b/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h @@ -51,13 +51,22 @@ public: m_shutterRanges << 0.001 << 0.01 << 0.1 << 1.0; m_exposureRanges << -2.0 << 2.0; - QList exposureModes; - exposureModes << QCameraExposure::ExposureAuto << QCameraExposure::ExposureManual << QCameraExposure::ExposureBacklight - << QCameraExposure::ExposureNight << QCameraExposure::ExposureSpotlight << QCameraExposure::ExposureSports - << QCameraExposure::ExposureSnow << QCameraExposure:: ExposureLargeAperture << QCameraExposure::ExposureSmallAperture - << QCameraExposure::ExposurePortrait << QCameraExposure::ExposureModeVendor << QCameraExposure::ExposureBeach; + const QCameraExposure::ExposureMode exposureModes[] = { + QCameraExposure::ExposureAuto, + QCameraExposure::ExposureManual, + QCameraExposure::ExposureBacklight, + QCameraExposure::ExposureNight, + QCameraExposure::ExposureSpotlight, + QCameraExposure::ExposureSports, + QCameraExposure::ExposureSnow, + QCameraExposure:: ExposureLargeAperture, + QCameraExposure::ExposureSmallAperture, + QCameraExposure::ExposurePortrait, + QCameraExposure::ExposureModeVendor, + QCameraExposure::ExposureBeach, + }; - foreach (QCameraExposure::ExposureMode mode, exposureModes) + for (QCameraExposure::ExposureMode mode : exposureModes) m_exposureModes << QVariant::fromValue(mode); m_meteringModes << QVariant::fromValue(QCameraExposure::MeteringMatrix) diff --git a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp index 43dc52022..7ba631e58 100644 --- a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp +++ b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp @@ -730,16 +730,14 @@ void tst_QPainterVideoSurface::shaderSupportedFormat_data() QTest::addColumn("supportedPixelFormat"); QTest::addColumn("supportedFormat"); - QList > types; - - + const QPair types[] = { #if !defined(QT_OPENGL_ES) - types << qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")); + qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")), #endif - types << qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")); + qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")), + }; - QPair type; - foreach (type, types) { + for (const auto &type : types) { QTest::newRow((type.second + "rgb32 640x480").constData()) << type.first << QAbstractVideoBuffer::NoHandle @@ -952,14 +950,14 @@ void tst_QPainterVideoSurface::shaderPresent_data() QTest::addColumn("bytesB"); QTest::addColumn("bytesPerLineB"); - QList > types; + const QPair types[] = { #if !defined(QT_OPENGL_ES) - types << qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")); + qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")), #endif - types << qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")); + qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")), + }; - QPair type; - foreach (type, types) { + for (const auto &type : types) { QTest::newRow((type.second + "rgb32 -> argb32").constData()) << type.first << QVideoFrame::Format_RGB32 -- cgit v1.2.3