tst_QRegularExpression: clean up
- port Q_FOREACH to C++11 range-for (incl. one case of iterating over QHash::keys()) - port uses of inefficient QLists to QVector - add Q_DECLARE_TYPEINFO for types held in Qt containers Fixes errors pointed out by my tree's static checks. Change-Id: I30eb432528fa3008240b5c217d5f2f9ddc3679be Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
This commit is contained in:
parent
6e2af81daf
commit
869513a49f
@ -61,6 +61,9 @@ struct Match
|
|||||||
QStringList captured;
|
QStringList captured;
|
||||||
QHash<QString, QString> namedCaptured;
|
QHash<QString, QString> namedCaptured;
|
||||||
};
|
};
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
Q_DECLARE_TYPEINFO(Match, Q_MOVABLE_TYPE);
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(Match)
|
Q_DECLARE_METATYPE(Match)
|
||||||
|
|
||||||
@ -85,9 +88,9 @@ bool operator==(const QRegularExpressionMatch &rem, const Match &m)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_FOREACH (const QString &name, m.namedCaptured.keys()) {
|
for (auto it = m.namedCaptured.begin(), end = m.namedCaptured.end(); it != end; ++it) {
|
||||||
QString remCaptured = rem.captured(name);
|
const QString remCaptured = rem.captured(it.key());
|
||||||
QString mCaptured = m.namedCaptured.value(name);
|
const QString mCaptured = it.value();
|
||||||
if (remCaptured != mCaptured
|
if (remCaptured != mCaptured
|
||||||
|| remCaptured.isNull() != mCaptured.isNull()
|
|| remCaptured.isNull() != mCaptured.isNull()
|
||||||
|| remCaptured.isEmpty() != mCaptured.isEmpty()) {
|
|| remCaptured.isEmpty() != mCaptured.isEmpty()) {
|
||||||
@ -115,12 +118,11 @@ bool operator!=(const Match &m, const QRegularExpressionMatch &rem)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool operator==(const QRegularExpressionMatchIterator &iterator, const QList<Match> &expectedMatchList)
|
bool operator==(const QRegularExpressionMatchIterator &iterator, const QVector<Match> &expectedMatchList)
|
||||||
{
|
{
|
||||||
QRegularExpressionMatchIterator i = iterator;
|
QRegularExpressionMatchIterator i = iterator;
|
||||||
|
|
||||||
foreach (const Match &expectedMatch, expectedMatchList)
|
for (const Match &expectedMatch : expectedMatchList) {
|
||||||
{
|
|
||||||
if (!i.hasNext())
|
if (!i.hasNext())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -135,17 +137,17 @@ bool operator==(const QRegularExpressionMatchIterator &iterator, const QList<Mat
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const QList<Match> &expectedMatchList, const QRegularExpressionMatchIterator &iterator)
|
bool operator==(const QVector<Match> &expectedMatchList, const QRegularExpressionMatchIterator &iterator)
|
||||||
{
|
{
|
||||||
return operator==(iterator, expectedMatchList);
|
return operator==(iterator, expectedMatchList);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const QRegularExpressionMatchIterator &iterator, const QList<Match> &expectedMatchList)
|
bool operator!=(const QRegularExpressionMatchIterator &iterator, const QVector<Match> &expectedMatchList)
|
||||||
{
|
{
|
||||||
return !operator==(iterator, expectedMatchList);
|
return !operator==(iterator, expectedMatchList);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const QList<Match> &expectedMatchList, const QRegularExpressionMatchIterator &iterator)
|
bool operator!=(const QVector<Match> &expectedMatchList, const QRegularExpressionMatchIterator &iterator)
|
||||||
{
|
{
|
||||||
return !operator==(expectedMatchList, iterator);
|
return !operator==(expectedMatchList, iterator);
|
||||||
}
|
}
|
||||||
@ -1117,9 +1119,9 @@ void tst_QRegularExpression::globalMatch_data()
|
|||||||
QTest::addColumn<int>("offset");
|
QTest::addColumn<int>("offset");
|
||||||
QTest::addColumn<QRegularExpression::MatchType>("matchType");
|
QTest::addColumn<QRegularExpression::MatchType>("matchType");
|
||||||
QTest::addColumn<QRegularExpression::MatchOptions>("matchOptions");
|
QTest::addColumn<QRegularExpression::MatchOptions>("matchOptions");
|
||||||
QTest::addColumn<QList<Match> >("matchList");
|
QTest::addColumn<QVector<Match> >("matchList");
|
||||||
|
|
||||||
QList<Match> matchList;
|
QVector<Match> matchList;
|
||||||
Match m;
|
Match m;
|
||||||
|
|
||||||
matchList.clear();
|
matchList.clear();
|
||||||
@ -1375,7 +1377,7 @@ void tst_QRegularExpression::globalMatch()
|
|||||||
QFETCH(int, offset);
|
QFETCH(int, offset);
|
||||||
QFETCH(QRegularExpression::MatchType, matchType);
|
QFETCH(QRegularExpression::MatchType, matchType);
|
||||||
QFETCH(QRegularExpression::MatchOptions, matchOptions);
|
QFETCH(QRegularExpression::MatchOptions, matchOptions);
|
||||||
QFETCH(QList<Match>, matchList);
|
QFETCH(QVector<Match>, matchList);
|
||||||
|
|
||||||
testMatch<QRegularExpressionMatchIterator>(regexp,
|
testMatch<QRegularExpressionMatchIterator>(regexp,
|
||||||
static_cast<QREGlobalMatchStringPMF>(&QRegularExpression::globalMatch),
|
static_cast<QREGlobalMatchStringPMF>(&QRegularExpression::globalMatch),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user