diff --git a/gui/test/main.cpp b/gui/test/main.cpp index fc17d81f0..355bb4d9d 100644 --- a/gui/test/main.cpp +++ b/gui/test/main.cpp @@ -20,6 +20,7 @@ #include #include "testtranslationhandler.h" #include "testxmlreport.h" +#include "testxmlreportv1.h" int main(int argc, char *argv[]) { @@ -31,5 +32,8 @@ int main(int argc, char *argv[]) TestXmlReport testXmlReport; QTest::qExec(&testXmlReport); + TestXmlReportV1 testXmlReportV1; + QTest::qExec(&testXmlReportV1); + return a.exec(); } diff --git a/gui/test/test.pro b/gui/test/test.pro index 892ded31d..1f3b04a8d 100644 --- a/gui/test/test.pro +++ b/gui/test/test.pro @@ -7,16 +7,22 @@ INCLUDEPATH += . .. # tests SOURCES += main.cpp \ testtranslationhandler.cpp \ - testxmlreport.cpp + testxmlreport.cpp \ + testxmlreportv1.cpp HEADERS += testtranslationhandler.h \ - testxmlreport.h + testxmlreport.h \ + testxmlreportv1.h # GUI -SOURCES += report.cpp \ +SOURCES += ../erroritem.cpp \ + ../report.cpp \ ../translationhandler.cpp \ - ../xmlreport.cpp + ../xmlreport.cpp \ + ../xmlreportv1.cpp -HEADERS += report.h \ +HEADERS += ../erroritem.h \ + ../report.h \ ../translationhandler.h \ - ../xmlreport.h + ../xmlreport.h \ + ../xmlreportv1.h diff --git a/gui/test/testxmlreport.cpp b/gui/test/testxmlreport.cpp index 7cf06677e..03eb937e5 100644 --- a/gui/test/testxmlreport.cpp +++ b/gui/test/testxmlreport.cpp @@ -25,24 +25,24 @@ void TestXmlReport::testQuoteMessage() { const QString toQuote("abcdefgh&\"'<>12345"); const QString quoted("abcdefgh&"'<>12345"); - QCOMPARE(quoted, XmlReport::quoteMessage(toQuote)); + QCOMPARE(XmlReport::quoteMessage(toQuote), quoted); } void TestXmlReport::testUnquoteMessage() { const QString toQuote("abcdefgh&\"'<>12345"); const QString quoted("abcdefgh&"'<>12345"); - QCOMPARE(toQuote, XmlReport::unquoteMessage(quoted)); + QCOMPARE(XmlReport::unquoteMessage(quoted), toQuote); } void TestXmlReport::testGetVersion1() { const QString filepath("xmlfiles/xmlreport_v1.xml"); - QCOMPARE(1, XmlReport::determineVersion(filepath)); + QCOMPARE(XmlReport::determineVersion(filepath), 1); } void TestXmlReport::testGetVersion2() { const QString filepath("xmlfiles/xmlreport_v2.xml"); - QCOMPARE(2, XmlReport::determineVersion(filepath)); + QCOMPARE(XmlReport::determineVersion(filepath), 2); } diff --git a/gui/test/testxmlreportv1.cpp b/gui/test/testxmlreportv1.cpp new file mode 100644 index 000000000..1c0ad3187 --- /dev/null +++ b/gui/test/testxmlreportv1.cpp @@ -0,0 +1,40 @@ +/* + * Cppcheck - A tool for static C/C++ code analysis + * Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include "testxmlreportv1.h" +#include "xmlreportv1.h" +#include "erroritem.h" + +void TestXmlReportV1::readXml() +{ + const QString filepath("xmlfiles/xmlreport_v1.xml"); + XmlReportV1 report(filepath); + QVERIFY(report.Open()); + QList errors = report.Read(); + QCOMPARE(6, errors.size()); + + ErrorItem item = errors[0]; + QCOMPARE(item.file, QString("test.cxx")); + QCOMPARE(item.lines[0], (unsigned int)11); + QCOMPARE(item.id, QString("unreadVariable")); + QCOMPARE(item.severity, QString("Style")); + QCOMPARE(item.summary, QString("Variable 'a' is assigned a value that is never used")); + QCOMPARE(item.message, QString("Variable 'a' is assigned a value that is never used")); +} diff --git a/gui/test/testxmlreportv1.h b/gui/test/testxmlreportv1.h new file mode 100644 index 000000000..ada1bc640 --- /dev/null +++ b/gui/test/testxmlreportv1.h @@ -0,0 +1,28 @@ +/* + * Cppcheck - A tool for static C/C++ code analysis + * Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include + +class TestXmlReportV1: public QObject +{ + Q_OBJECT + +private slots: + void readXml(); +};