diff --git a/tests/auto/cplusplus/cplusplus.pro b/tests/auto/cplusplus/cplusplus.pro index 0c16c670287976202890a46a27c1238857ef3537..28ab7b20487aab3ea5952b49db109ec2609d9d30 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 0000000000000000000000000000000000000000..2816eac77d8573665820b8e52e0bd2d19f748bdc --- /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 0000000000000000000000000000000000000000..618cfcee7356d8e5497fb10f3a34fa099181c4bf --- /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"