From 6d00ff37f321c10deaa961e06a2f511b371ea4d8 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen <erik.verbruggen@nokia.com> Date: Thu, 17 Feb 2011 11:20:33 +0100 Subject: [PATCH] Added tests for the DiagnosticClient. --- tests/auto/cplusplus/cplusplus.pro | 3 +- tests/auto/cplusplus/misc/misc.pro | 5 +++ tests/auto/cplusplus/misc/tst_misc.cpp | 58 ++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 tests/auto/cplusplus/misc/misc.pro create mode 100644 tests/auto/cplusplus/misc/tst_misc.cpp diff --git a/tests/auto/cplusplus/cplusplus.pro b/tests/auto/cplusplus/cplusplus.pro index 0c16c670287..28ab7b20487 100644 --- a/tests/auto/cplusplus/cplusplus.pro +++ b/tests/auto/cplusplus/cplusplus.pro @@ -10,5 +10,6 @@ SUBDIRS = \ preprocessor \ semantic \ typeprettyprinter \ - simplifytypes + simplifytypes \ + misc diff --git a/tests/auto/cplusplus/misc/misc.pro b/tests/auto/cplusplus/misc/misc.pro new file mode 100644 index 00000000000..2816eac77d8 --- /dev/null +++ b/tests/auto/cplusplus/misc/misc.pro @@ -0,0 +1,5 @@ +include(../../qttest.pri) +include(../shared/shared.pri) +INCLUDEPATH += $$IDE_SOURCE_TREE/src/plugins +SOURCES += tst_misc.cpp + diff --git a/tests/auto/cplusplus/misc/tst_misc.cpp b/tests/auto/cplusplus/misc/tst_misc.cpp new file mode 100644 index 00000000000..618cfcee735 --- /dev/null +++ b/tests/auto/cplusplus/misc/tst_misc.cpp @@ -0,0 +1,58 @@ +#include <CppDocument.h> + +#include <QtTest> +#include <QtDebug> + +using namespace CPlusPlus; + +class tst_Misc: public QObject +{ + Q_OBJECT + +private slots: + void diagnosticClient_error(); + void diagnosticClient_warning(); +}; + +void tst_Misc::diagnosticClient_error() +{ + const QByteArray src("\n" + "class Foo {}\n" + ); + Document::Ptr doc = Document::create("diagnosticClient_error"); + QVERIFY(!doc.isNull()); + doc->setSource(src); + bool success = doc->parse(Document::ParseTranlationUnit); + QVERIFY(success); + + QList<Document::DiagnosticMessage> diagnostics = doc->diagnosticMessages(); + QVERIFY(diagnostics.size() == 1); + + const Document::DiagnosticMessage &msg = diagnostics.at(0); + QCOMPARE(msg.level(), (int) Document::DiagnosticMessage::Error); + QCOMPARE(msg.line(), 2U); + QCOMPARE(msg.column(), 1U); +} + +void tst_Misc::diagnosticClient_warning() +{ + const QByteArray src("\n" + "using namespace ;\n" + ); + Document::Ptr doc = Document::create("diagnosticClient_warning"); + QVERIFY(!doc.isNull()); + doc->setSource(src); + bool success = doc->parse(Document::ParseTranlationUnit); + QVERIFY(success); + + QList<Document::DiagnosticMessage> diagnostics = doc->diagnosticMessages(); + QVERIFY(diagnostics.size() == 1); + + const Document::DiagnosticMessage &msg = diagnostics.at(0); + QCOMPARE(msg.level(), (int) Document::DiagnosticMessage::Warning); + QCOMPARE(msg.line(), 1U); + QCOMPARE(msg.column(), 17U); +} + +QTEST_MAIN(tst_Misc) +#include "tst_misc.moc" -- GitLab