OSDN Git Service

Added tests for the DiagnosticClient.
authorErik Verbruggen <erik.verbruggen@nokia.com>
Thu, 17 Feb 2011 10:20:33 +0000 (11:20 +0100)
committerErik Verbruggen <erik.verbruggen@nokia.com>
Thu, 17 Feb 2011 10:20:50 +0000 (11:20 +0100)
tests/auto/cplusplus/cplusplus.pro
tests/auto/cplusplus/misc/misc.pro [new file with mode: 0644]
tests/auto/cplusplus/misc/tst_misc.cpp [new file with mode: 0644]

index 0c16c67..28ab7b2 100644 (file)
@@ -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 (file)
index 0000000..2816eac
--- /dev/null
@@ -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 (file)
index 0000000..618cfce
--- /dev/null
@@ -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"