From 64bba7eda0908eaa62288fe2b2d4356211c623c4 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Mon, 29 Mar 2010 17:59:58 +0200
Subject: [PATCH] Add simple unit tests for abld parser

---
 .../projectexplorer/outputparser_test.cpp     |  1 -
 .../projectexplorer/outputparser_test.h       |  1 +
 .../qt4projectmanager/qt-s60/abldparser.cpp   | 50 +++++++++++++++++++
 .../qt4projectmanager/qt4projectmanager.pro   |  2 -
 .../qt4projectmanagerplugin.cpp               |  5 --
 .../qt4projectmanagerplugin.h                 |  4 +-
 6 files changed, 54 insertions(+), 9 deletions(-)

diff --git a/src/plugins/projectexplorer/outputparser_test.cpp b/src/plugins/projectexplorer/outputparser_test.cpp
index 7d9952c100a..28a83b50011 100644
--- a/src/plugins/projectexplorer/outputparser_test.cpp
+++ b/src/plugins/projectexplorer/outputparser_test.cpp
@@ -134,7 +134,6 @@ void OutputParserTester::stdError(const QString &line)
 void OutputParserTester::appendOutputParser(IOutputParser *parser)
 {
     Q_ASSERT(!childParser());
-    Q_ASSERT(!parser->childParser());
 
     IOutputParser::appendOutputParser(parser);
     parser->appendOutputParser(this);
diff --git a/src/plugins/projectexplorer/outputparser_test.h b/src/plugins/projectexplorer/outputparser_test.h
index 58f51f2d32e..8241766bb5b 100644
--- a/src/plugins/projectexplorer/outputparser_test.h
+++ b/src/plugins/projectexplorer/outputparser_test.h
@@ -33,6 +33,7 @@
 #if defined(WITH_TESTS)
 
 #include "projectexplorer_export.h"
+#include "metatypedeclarations.h"
 #include "ioutputparser.h"
 
 namespace ProjectExplorer {
diff --git a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
index 9cc7595f3ef..692d7b30e83 100644
--- a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
@@ -174,3 +174,53 @@ void AbldParser::stdError(const QString &line)
     }
     IOutputParser::stdError(line);
 }
+
+// Unit tests:
+
+#ifdef WITH_TESTS
+#   include <QTest>
+
+#   include "qt4projectmanagerplugin.h"
+
+#   include "projectexplorer/outputparser_test.h"
+
+using namespace Qt4ProjectManager::Internal;
+
+void Qt4ProjectManagerPlugin::testAbldOutputParsers_data()
+{
+    QTest::addColumn<QString>("input");
+    QTest::addColumn<OutputParserTester::Channel>("inputChannel");
+    QTest::addColumn<QString>("childStdOutLines");
+    QTest::addColumn<QString>("childStdErrLines");
+    QTest::addColumn<QList<ProjectExplorer::Task> >("tasks");
+    QTest::addColumn<QString>("outputLines");
+
+
+    QTest::newRow("pass-through stdout")
+            << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT
+            << QString::fromLatin1("Sometext") << QString()
+            << QList<ProjectExplorer::Task>()
+            << QString();
+    QTest::newRow("pass-through stderr")
+            << QString::fromLatin1("Sometext") << OutputParserTester::STDERR
+            << QString() << QString::fromLatin1("Sometext")
+            << QList<ProjectExplorer::Task>()
+            << QString();
+}
+
+void Qt4ProjectManagerPlugin::testAbldOutputParsers()
+{
+    OutputParserTester testbench;
+    testbench.appendOutputParser(new AbldParser);
+    QFETCH(QString, input);
+    QFETCH(OutputParserTester::Channel, inputChannel);
+    QFETCH(QList<Task>, tasks);
+    QFETCH(QString, childStdOutLines);
+    QFETCH(QString, childStdErrLines);
+    QFETCH(QString, outputLines);
+
+    testbench.testParsing(input, inputChannel,
+                          tasks, childStdOutLines, childStdErrLines,
+                          outputLines);
+}
+#endif
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.pro b/src/plugins/qt4projectmanager/qt4projectmanager.pro
index eb3b98f9893..b78f585a998 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.pro
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.pro
@@ -27,7 +27,6 @@ HEADERS += qt4projectmanagerplugin.h \
     wizards/modulespage.h \
     wizards/filespage.h \
     wizards/qtwizard.h \
-    wizards/targetspage.h \
     wizards/targetsetuppage.h \
     qt4projectmanagerconstants.h \
     makestep.h \
@@ -69,7 +68,6 @@ SOURCES += qt4projectmanagerplugin.cpp \
     wizards/modulespage.cpp \
     wizards/filespage.cpp \
     wizards/qtwizard.cpp \
-    wizards/targetspage.cpp \
     wizards/targetsetuppage.cpp \
     makestep.cpp \
     qmakestep.cpp \
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
index 096356267cd..674fb048559 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
@@ -266,11 +266,6 @@ void Qt4ProjectManagerPlugin::testBasicProjectLoading()
     QVERIFY(qt4project->rootProjectNode()->projectType() == ApplicationTemplate);
     QVERIFY(m_projectExplorer->currentProject() != 0);
 }
-
-void Qt4ProjectManagerPlugin::testNotYetImplemented()
-{
-    QCOMPARE(1+1, 2);
-}
 #endif
 
 Q_EXPORT_PLUGIN(Qt4ProjectManagerPlugin)
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
index 1fc0c9f43a5..b8af4ccf860 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
@@ -76,7 +76,9 @@ private slots:
 
 #ifdef WITH_TESTS
     void testBasicProjectLoading();
-    void testNotYetImplemented();
+
+    void testAbldOutputParsers_data();
+    void testAbldOutputParsers();
 #endif
 
 private:
-- 
GitLab