QDebug::toString(): use nospace()

The intended use cases for toString() are the situations where you
can't use operator<<, such as QVERIFY2, Q_ASSERT_X, etc., which means
that it will often be used as an argument to e.g. QString::arg(), where
the user has control over the structure of the message. For that
reason, adding an extra space to the end is not necessary and just gets
in the way.

This amends 658b9697f9.

Change-Id: I0695e6809026a0f92ed783899da80de4fa2a1684
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
Mitch Curtis 2020-02-27 11:36:54 +01:00
parent 7ef6ddaf7a
commit 981c1fe15f
3 changed files with 6 additions and 4 deletions

View File

@ -5,3 +5,5 @@ This function is useful for cases where you need the textual representation
of an object for debugging, but cannot use \c {operator<<}. For example: of an object for debugging, but cannot use \c {operator<<}. For example:
\snippet code/src_corelib_io_qdebug.cpp toString \snippet code/src_corelib_io_qdebug.cpp toString
The string is streamed using \l nospace().

View File

@ -179,7 +179,7 @@ public:
{ {
QString buffer; QString buffer;
QDebug stream(&buffer); QDebug stream(&buffer);
stream << object; stream.nospace() << object;
return buffer; return buffer;
} }
@ -188,7 +188,7 @@ public:
{ {
QString buffer; QString buffer;
QDebug stream(&buffer); QDebug stream(&buffer);
stream << object; stream.nospace() << object;
return buffer; return buffer;
} }
}; };

View File

@ -748,7 +748,7 @@ void tst_QDebug::toString() const
MyPoint point(3, 4); MyPoint point(3, 4);
QString expectedString; QString expectedString;
QDebug stream(&expectedString); QDebug stream(&expectedString);
stream << point; stream.nospace() << point;
QCOMPARE(QDebug::toString(point), expectedString); QCOMPARE(QDebug::toString(point), expectedString);
} }
@ -758,7 +758,7 @@ void tst_QDebug::toString() const
qobject.setObjectName("test"); qobject.setObjectName("test");
QString expectedString; QString expectedString;
QDebug stream(&expectedString); QDebug stream(&expectedString);
stream << &qobject; stream.nospace() << &qobject;
QCOMPARE(QDebug::toString(&qobject), expectedString); QCOMPARE(QDebug::toString(&qobject), expectedString);
} }
} }