summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2014-07-22 11:58:55 +0200
committerKai Koehne <kai.koehne@digia.com>2014-07-23 13:33:25 +0200
commite668837b9c3faa5c0fc29c0bac71247eb9975746 (patch)
treeea05784f60875908faf6f3c4cccb19e531d87e45 /tests
parent66c47292bdf0843148b3c557321514d4d08c8ac6 (diff)
QDebugStateSaver: Fix trailing space issues
~QDebug() removes any trailing space if autoInsertSpaces() is true. However, if one uses QDebugStateSaver the global autoInsertSpaces might be false, but a space was added by a custom operator<<. Explicitly check for this in QDebugStateSaverPrivate::restoreState. Remove any trailing space if the local state asks for adding trailing spaces, but the original one doesn't. Add a trailing space if the local state doesn't ask for one, but the global state does. Change-Id: I243b5c76d5ed2c1ec4820da35ab6e254da1551d9 Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/io/qdebug/tst_qdebug.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qdebug/tst_qdebug.cpp b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
index 2143a8874c..767fde7f6c 100644
--- a/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
+++ b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
@@ -254,6 +254,17 @@ void tst_QDebug::stateSaver() const
MessageHandlerSetter mhs(myMessageHandler);
{
QDebug d = qDebug();
+ d << 42;
+ {
+ QDebugStateSaver saver(d);
+ d << 43;
+ }
+ d << 44;
+ }
+ QCOMPARE(s_msg, QString::fromLatin1("42 43 44"));
+
+ {
+ QDebug d = qDebug();
{
QDebugStateSaver saver(d);
d.nospace() << hex << right << qSetFieldWidth(3) << qSetPadChar('0') << 42;
@@ -271,6 +282,18 @@ void tst_QDebug::stateSaver() const
d << QStringLiteral("World");
}
QCOMPARE(s_msg, QString::fromLatin1("Hello \"World\""));
+
+ {
+ QDebug d = qDebug();
+ d.noquote().nospace() << QStringLiteral("Hello") << hex << 42;
+ {
+ QDebugStateSaver saver(d);
+ d.resetFormat();
+ d << QStringLiteral("World") << 42;
+ }
+ d << QStringLiteral("!") << 42;
+ }
+ QCOMPARE(s_msg, QString::fromLatin1("Hello2a\"World\" 42!2a"));
}
void tst_QDebug::veryLongWarningMessage() const