diff options
author | Holger Ihrig <holger.ihrig@nokia.com> | 2011-08-24 12:53:32 +0200 |
---|---|---|
committer | Holger Ihrig <holger.ihrig@nokia.com> | 2011-08-31 10:08:38 +0200 |
commit | 012ba8c0e5270f962dbc891039c32f49d31c565b (patch) | |
tree | 499a88b02862551708eb0f2c0f366afa8b998054 /tests/auto/corelib/io/qdebug | |
parent | a7d682dd9c9271d137d5aa73a9192a812492a596 (diff) |
Moving relevant tests to corelib/io
Marked Test for qdiriterator as insignificant. See QTBUG-21160
Marked Test for qresourceengine as insignificant. See QTBUG-21159
Task-number: QTBUG-21066
Change-Id: I72848a651ff3e7aff1d6105dd49124e4ed070a44
Reviewed-on: http://codereview.qt.nokia.com/3577
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'tests/auto/corelib/io/qdebug')
-rw-r--r-- | tests/auto/corelib/io/qdebug/.gitignore | 1 | ||||
-rw-r--r-- | tests/auto/corelib/io/qdebug/qdebug.pro | 4 | ||||
-rw-r--r-- | tests/auto/corelib/io/qdebug/tst_qdebug.cpp | 158 |
3 files changed, 163 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qdebug/.gitignore b/tests/auto/corelib/io/qdebug/.gitignore new file mode 100644 index 0000000000..af993e9625 --- /dev/null +++ b/tests/auto/corelib/io/qdebug/.gitignore @@ -0,0 +1 @@ +tst_qdebug diff --git a/tests/auto/corelib/io/qdebug/qdebug.pro b/tests/auto/corelib/io/qdebug/qdebug.pro new file mode 100644 index 0000000000..2b5716860c --- /dev/null +++ b/tests/auto/corelib/io/qdebug/qdebug.pro @@ -0,0 +1,4 @@ +load(qttest_p4) +SOURCES += tst_qdebug.cpp +QT = core +CONFIG += parallel_test diff --git a/tests/auto/corelib/io/qdebug/tst_qdebug.cpp b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp new file mode 100644 index 0000000000..772fd9fd04 --- /dev/null +++ b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp @@ -0,0 +1,158 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore/QtCore> +#include <QtCore/QtDebug> +#include <QtTest/QtTest> + +class tst_QDebug: public QObject +{ + Q_OBJECT +private slots: + void assignment() const; + void warningWithoutDebug() const; + void criticalWithoutDebug() const; + void debugWithQBool() const; + void veryLongWarningMessage() const; + void qDebugQStringRef() const; +}; + +void tst_QDebug::assignment() const +{ + QDebug debug1(QtDebugMsg); + QDebug debug2(QtWarningMsg); + + QTest::ignoreMessage(QtDebugMsg, "foo "); + QTest::ignoreMessage(QtWarningMsg, "bar 1 2 "); + + debug1 << "foo"; + debug2 << "bar"; + debug1 = debug2; + debug1 << "1"; + debug2 << "2"; +} + +static QtMsgType s_msgType; +static QByteArray s_msg; + +static void myMessageHandler(QtMsgType type, const char *msg) +{ + s_msg = msg; + s_msgType = type; +} + +/*! \internal + The qWarning() stream should be usable even if QT_NO_DEBUG is defined. + */ +void tst_QDebug::warningWithoutDebug() const +{ + qInstallMsgHandler(myMessageHandler); + { qWarning() << "A qWarning() message"; } + QCOMPARE(s_msgType, QtWarningMsg); + QCOMPARE(QString::fromLatin1(s_msg.data()), QString::fromLatin1("A qWarning() message ")); + qInstallMsgHandler(0); +} + +/*! \internal + The qCritical() stream should be usable even if QT_NO_DEBUG is defined. + */ +void tst_QDebug::criticalWithoutDebug() const +{ + qInstallMsgHandler(myMessageHandler); + { qCritical() << "A qCritical() message"; } + QCOMPARE(s_msgType, QtCriticalMsg); + QCOMPARE(QString::fromLatin1(s_msg), QString::fromLatin1("A qCritical() message ")); + qInstallMsgHandler(0); +} + +void tst_QDebug::debugWithQBool() const +{ + qInstallMsgHandler(myMessageHandler); + { qDebug() << QBool(false) << QBool(true); } + QCOMPARE(s_msgType, QtDebugMsg); + QCOMPARE(QString::fromLatin1(s_msg), QString::fromLatin1("false true ")); + qInstallMsgHandler(0); +} + +void tst_QDebug::veryLongWarningMessage() const +{ + qInstallMsgHandler(myMessageHandler); + QString test; + { + QString part("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n"); + for (int i = 0; i < 1000; ++i) + test.append(part); + qWarning("Test output:\n%s\nend", qPrintable(test)); + } + QCOMPARE(s_msgType, QtWarningMsg); + QCOMPARE(QString::fromLatin1(s_msg), QString::fromLatin1("Test output:\n")+test+QString::fromLatin1("\nend")); + qInstallMsgHandler(0); +} + +void tst_QDebug::qDebugQStringRef() const +{ + /* Use a basic string. */ + { + const QString in(QLatin1String("input")); + const QStringRef inRef(&in); + + qInstallMsgHandler(myMessageHandler); + { qDebug() << inRef; } + QCOMPARE(s_msgType, QtDebugMsg); + QCOMPARE(QString::fromLatin1(s_msg), QString::fromLatin1("\"input\" ")); + qInstallMsgHandler(0); + } + + /* Use a null QStringRef. */ + { + const QStringRef inRef; + + qInstallMsgHandler(myMessageHandler); + { qDebug() << inRef; } + QCOMPARE(s_msgType, QtDebugMsg); + QCOMPARE(QString::fromLatin1(s_msg), QString::fromLatin1("\"\" ")); + qInstallMsgHandler(0); + } +} + +QTEST_MAIN(tst_QDebug); +#include "tst_qdebug.moc" |