From f516cf93b421d7b16f886b8d96c4d64b6d45ebeb Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Sun, 13 Aug 2023 17:40:00 +0300 Subject: [PATCH] selftests/badxml/tst_badxml: compile with QT_NO_FOREACH badString(): const'ify the static QList, this is both faster as the compiler doesn't need to check if it has been already initialized, and it means we can use it directly in ranged-for as the method returns const QList&. Drive-by change: don't go the long way around to get a const char*: qPrintable(QString("fail %1").arg(ba)) instead use: QTest::addRow("fail %s", ba.constData()) (thanks to dfaure for pointing it out in review). Task-number: QTBUG-115839 Change-Id: I6e8efa6df47ee94f1d71a63e22ab121647e6bf20 Reviewed-by: David Faure --- .../testlib/selftests/badxml/tst_badxml.cpp | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp b/tests/auto/testlib/selftests/badxml/tst_badxml.cpp index 8a743bf702..7b2feab0fe 100644 --- a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp +++ b/tests/auto/testlib/selftests/badxml/tst_badxml.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 #include #include @@ -81,9 +79,9 @@ void tst_BadXml::badDataTag_data() const { QTest::addColumn("shouldFail"); - foreach (char const* str, badStrings()) { - QTest::newRow(qPrintable(QString("fail %1").arg(str))) << true; - QTest::newRow(qPrintable(QString("pass %1").arg(str))) << false; + for (const QByteArray &ba: badStrings()) { + QTest::addRow("fail %s", ba.constData()) << true; + QTest::addRow("pass %s", ba.constData()) << false; } } @@ -124,9 +122,8 @@ void tst_BadXml::badMessage_data() const QTest::addColumn("message"); int i = 0; - foreach (QByteArray const& str, badStrings()) { + for (const QByteArray &str : badStrings()) QTest::newRow(qPrintable(QString::fromLatin1("string %1").arg(i++))) << str; - } } /* @@ -134,13 +131,12 @@ void tst_BadXml::badMessage_data() const */ QList const& tst_BadXml::badStrings() { - static QList out; - if (out.isEmpty()) { - out << "end cdata ]]> text ]]> more text"; - out << "quotes \" text\" more text"; - out << "xml close > open < tags < text"; - out << "all > \" mixed ]]> up > \" in < the ]]> hopes < of triggering \"< ]]> bugs"; - } + static const QList out = { + "end cdata ]]> text ]]> more text", + "quotes \" text\" more text", + "xml close > open < tags < text", + "all > \" mixed ]]> up > \" in < the ]]> hopes < of triggering \"< ]]> bugs", + }; return out; }