Added tests for the DiagnosticClient.

This commit is contained in:
Erik Verbruggen
2011-02-17 11:20:33 +01:00
parent b54e976f91
commit 6d00ff37f3
3 changed files with 65 additions and 1 deletions

View File

@@ -10,5 +10,6 @@ SUBDIRS = \
preprocessor \
semantic \
typeprettyprinter \
simplifytypes
simplifytypes \
misc

View File

@@ -0,0 +1,5 @@
include(../../qttest.pri)
include(../shared/shared.pri)
INCLUDEPATH += $$IDE_SOURCE_TREE/src/plugins
SOURCES += tst_misc.cpp

View File

@@ -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"