Skip to content

Commit 9b9b9c9

Browse files
committed
Add test for XML format version 2.
1 parent f65fa33 commit 9b9b9c9

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

test/testerrorlogger.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#include <list>
20+
#include "cppcheck.h"
2021
#include "testsuite.h"
2122
#include "errorlogger.h"
2223

@@ -38,6 +39,7 @@ class TestErrorLogger : public TestFixture
3839
TEST_CASE(CustomFormat2);
3940
TEST_CASE(ToXml);
4041
TEST_CASE(ToVerboseXml);
42+
TEST_CASE(ToXmlV2);
4143
}
4244

4345
void FileLocationDefaults()
@@ -140,5 +142,25 @@ class TestErrorLogger : public TestFixture
140142
ASSERT_EQUALS("</results>", ErrorLogger::ErrorMessage::getXMLFooter(1));
141143
ASSERT_EQUALS("<error file=\"foo.cpp\" line=\"5\" id=\"errorId\" severity=\"error\" msg=\"Verbose error\"/>", msg.toXML(true,1));
142144
}
145+
146+
void ToXmlV2()
147+
{
148+
ErrorLogger::ErrorMessage::FileLocation loc;
149+
loc.setfile("foo.cpp");
150+
loc.line = 5;
151+
std::list<ErrorLogger::ErrorMessage::FileLocation> locs;
152+
locs.push_back(loc);
153+
ErrorMessage msg(locs, Severity::error, "Programming error.\nVerbose error", "errorId");
154+
std::string header("<?xml version=\"1.0\"?>\n<results version=\"2\">\n");
155+
header += " <cppcheck version=\"";
156+
header += CppCheck::version();
157+
header += "\"/>\n <errors>";
158+
ASSERT_EQUALS(header, ErrorLogger::ErrorMessage::getXMLHeader(2));
159+
ASSERT_EQUALS(" </errors>\n</results>", ErrorLogger::ErrorMessage::getXMLFooter(2));
160+
std::string message(" <error id=\"errorId\" severity=\"error\"");
161+
message += " msg=\"Programming error.\" verbose=\"Verbose error\">\n";
162+
message += " <location file=\"foo.cpp\" line=\"5\"/>\n </error>";
163+
ASSERT_EQUALS(message, msg.toXML(false,2));
164+
}
143165
};
144166
REGISTER_TEST(TestErrorLogger)

0 commit comments

Comments
 (0)