QTestlib: Fix custom toString() implementations for QList comparison

d25589e0529732996e405aaff8d6c46b012e1601 mistakenly changed the code
to use toString() from the QTest namespace. Call toString()
unqualified and move the compareSequence() helper out of the
internal namespace.

Fixes: QTBUG-89737
Pick-to: 6.0
Change-Id: I8452a0aead7771ad13a5b95438b54e202ccce76b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Friedemann Kleint 2021-01-04 13:40:24 +01:00
parent 0f38f69d44
commit fca3ea040c

View File

@ -420,14 +420,12 @@ inline bool qCompare(QLatin1String const &t1, QString const &t2, const char *act
return qCompare(QString(t1), t2, actual, expected, file, line);
}
namespace Internal {
// Compare sequences of equal size
template <typename ActualIterator, typename ExpectedIterator>
bool compareSequence(ActualIterator actualIt, ActualIterator actualEnd,
ExpectedIterator expectedBegin, ExpectedIterator expectedEnd,
const char *actual, const char *expected,
const char *file, int line)
bool _q_compareSequence(ActualIterator actualIt, ActualIterator actualEnd,
ExpectedIterator expectedBegin, ExpectedIterator expectedEnd,
const char *actual, const char *expected,
const char *file, int line)
{
char msg[1024];
msg[0] = '\0';
@ -446,8 +444,8 @@ bool compareSequence(ActualIterator actualIt, ActualIterator actualEnd,
for (auto expectedIt = expectedBegin; isOk && expectedIt < expectedEnd; ++actualIt, ++expectedIt) {
if (!(*actualIt == *expectedIt)) {
const qsizetype i = qsizetype(expectedIt - expectedBegin);
char *val1 = QTest::toString(*actualIt);
char *val2 = QTest::toString(*expectedIt);
char *val1 = toString(*actualIt);
char *val2 = toString(*expectedIt);
qsnprintf(msg, sizeof(msg), "Compared lists differ at index %zd.\n"
" Actual (%s): %s\n"
@ -462,6 +460,8 @@ bool compareSequence(ActualIterator actualIt, ActualIterator actualEnd,
return compare_helper(isOk, msg, nullptr, nullptr, actual, expected, file, line);
}
namespace Internal {
#if defined(TESTCASE_LOWDPI)
void disableHighDpi()
{
@ -476,7 +476,7 @@ template <typename T>
inline bool qCompare(QList<T> const &t1, QList<T> const &t2, const char *actual, const char *expected,
const char *file, int line)
{
return Internal::compareSequence(t1.cbegin(), t1.cend(), t2.cbegin(), t2.cend(),
return _q_compareSequence(t1.cbegin(), t1.cend(), t2.cbegin(), t2.cend(),
actual, expected, file, line);
}
@ -485,7 +485,7 @@ bool qCompare(QList<T> const &t1, std::initializer_list<T> t2,
const char *actual, const char *expected,
const char *file, int line)
{
return Internal::compareSequence(t1.cbegin(), t1.cend(), t2.cbegin(), t2.cend(),
return _q_compareSequence(t1.cbegin(), t1.cend(), t2.cbegin(), t2.cend(),
actual, expected, file, line);
}
@ -495,7 +495,7 @@ bool qCompare(QList<T> const &t1, const T (& t2)[N],
const char *actual, const char *expected,
const char *file, int line)
{
return Internal::compareSequence(t1.cbegin(), t1.cend(), t2, t2 + N,
return _q_compareSequence(t1.cbegin(), t1.cend(), t2, t2 + N,
actual, expected, file, line);
}