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