diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-10-07 18:37:53 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-10-07 18:37:53 +0000 |
| commit | 150339335e3c5538c1e496ae01babf148bd29ec5 (patch) | |
| tree | 9f354aaee81e08c27dc6da0709074babde7672f5 /examples/cppunittest/XmlOutputterTest.cpp | |
| parent | 4410db53e88dc5aca9f86abaf9dffccbd5f94471 (diff) | |
| download | cppunit-150339335e3c5538c1e496ae01babf148bd29ec5.tar.gz | |
Include/cppunit/CompilerTestResultOutputter.
include/cppunit/CompilerTestResultOutputter.h :
renamed CompilerOutputter.h
* src/cppunit/CompilerTestResultOutputter.cpp :
renamed CompilerOutputter.cpp
* include/cppunit/CompilerTestResultOutputter.h :
* src/cppunit/CompilerTestResultOutputter.cpp : ajust max line length
for wrapping. Added static factory method defaultOutputter(). Print
the number of test runs on success.
* include/cppunit/CompilerTestResultOutputter.h : renamed
CompilerOutputter.h.
* src/cppunit/CompilerTestResultOutputter.cpp : renamed
CompilerOutputter.cpp.
* examples/cppunittest/CppUnitTestMain.cpp : use factory method
CompilerTestResultOutputter::defaultOutputter().
* src/msvc6/DSPlugIn/DSPlugIn.dsp : removed COM registration in
post-build step. IT is automatically done by VC++ when the add-in is
added. Caused build to failed if the add-in was used in VC++.
* NEWS : updated.
* src/cppunit/TestAssert.cpp : modified deprecated assert
implementations to use Asserter.
* examples/cppunittest/XmlTestResultOutputterTest.h :
renamed XmlOutputterTest.h.
* examples/cppunittest/XmlTestResultOutputterTest.cpp :
renamed XmlOutputterTest.cpp.
* NEWS :
* examples/cppunittest/CppUnitTestMain.cpp :
* examples/cppunittest/CppUnitTestMain.dsp :
* examples/cppunittest/Makefile.am :
* examples/cppunittest/XmlTestResultOutputterTest.h :
* examples/cppunittest/XmlTestResultOutputterTest.cpp :
* examples/msvc6/CppUniTestApp/CppUnitTestApp.dsp
* include/cppunit/CompilerOutputter.h :
* include/cppunit/Makefile.am :
* include/cppunit/XmlTestResultOutputter.h :
* src/cppunit/CompilerOutputter.cpp :
* src/cppunit/cppunit.dsp :
* src/cppunit/Makefile.am :
* src/cppunit/XmlTestResultOutputter.cpp : change due to renaming
CompilerTestResultOutputter to CompilerOutputter,
XmlTestResultOutputter to XmlOuputter, XmlTestResultOutputterTest
to XmlOutputterTest.
Diffstat (limited to 'examples/cppunittest/XmlOutputterTest.cpp')
| -rw-r--r-- | examples/cppunittest/XmlOutputterTest.cpp | 323 |
1 files changed, 323 insertions, 0 deletions
diff --git a/examples/cppunittest/XmlOutputterTest.cpp b/examples/cppunittest/XmlOutputterTest.cpp new file mode 100644 index 0000000..d8326bc --- /dev/null +++ b/examples/cppunittest/XmlOutputterTest.cpp @@ -0,0 +1,323 @@ +#include <cppunit/TestResult.h> +#include <cppunit/XmlOutputter.h> +#include "OutputSuite.h" +#include "XmlOutputterTest.h" +#include "XmlUniformiser.h" + + +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlOutputterTest, + CppUnitTest::outputSuiteName() ); + + +XmlOutputterTest::XmlOutputterTest() : + CppUnit::TestCase() +{ +} + + +XmlOutputterTest::~XmlOutputterTest() +{ +} + + +void +XmlOutputterTest::setUp() +{ +} + + +void +XmlOutputterTest::tearDown() +{ +} + + +void +XmlOutputterTest::testEmptyNodeToString() +{ + CppUnit::XmlOutputter::Node node( "element" ); + std::string expectedXml = "<element></element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testNodeWithAttributesToString() +{ + CppUnit::XmlOutputter::Node node( "element" ); + node.addAttribute( "id", 17 ); + node.addAttribute( "date-format", "iso-8901" ); + std::string expectedXml = "<element id=\"17\" " + "date-format=\"iso-8901\">" + "</element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testEscapedAttributeValueToString() +{ + CppUnit::XmlOutputter::Node node( "element" ); + node.addAttribute( "escaped", "&<>\"'" ); + std::string expectedXml = "<element escaped=\"" + "&<>"'" + "\"></element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testNodeWithChildrenToString() +{ + CppUnit::XmlOutputter::Node node( "element" ); + node.addNode( new CppUnit::XmlOutputter::Node( "child1" ) ); + node.addNode( new CppUnit::XmlOutputter::Node( "child2" ) ); + std::string expectedXml = "<element><child1></child1>" + "<child2></child2></element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testNodeWithContentToString() +{ + CppUnit::XmlOutputter::Node node( "element", "content\nline2" ); + std::string expectedXml = "<element>content\nline2</element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testNodeWithNumericContentToString() +{ + CppUnit::XmlOutputter::Node node( "element", 123456789 ); + std::string expectedXml = "<element>123456789</element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testNodeWithContentAndChildToString() +{ + CppUnit::XmlOutputter::Node node( "element", "content" ); + node.addNode( new CppUnit::XmlOutputter::Node( "child1" ) ); + std::string expectedXml = "<element><child1></child1>content</element>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() ); +} + + +void +XmlOutputterTest::testWriteXmlResultWithNoTest() +{ + CppUnit::TestResult result; + + CppUnit::OStringStream stream; + CppUnit::XmlOutputter outputter( &result, stream ); + outputter.write(); + + std::string actualXml = stream.str(); + std::string expectedXml = + "<TestRun>" + "<FailedTests></FailedTests>" + "<SucessfulTests></SucessfulTests>" + "<Statistics>" + "<Tests>0</Tests>" + "<FailuresTotal>0</FailuresTotal>" + "<Errors>0</Errors>" + "<Failures>0</Failures>" + "</Statistics>" + "</TestRun>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml ); +} + + +void +XmlOutputterTest::testWriteXmlResultWithOneFailure() +{ + CppUnit::TestResult result; + CppUnit::TestCase test1( "test1" ); + result.startTest( &test1 ); + CppUnit::SourceLine sourceLine( "test.cpp", 3 ); + result.addFailure( &test1, new CppUnit::Exception( "message failure1", + sourceLine ) ); + result.endTest( &test1 ); + + CppUnit::OStringStream stream; + CppUnit::XmlOutputter outputter( &result, stream ); + outputter.write(); + + std::string actualXml = stream.str(); + std::string expectedXml = + "<TestRun>" + "<FailedTests>" + "<FailedTest id=\"1\">" + "<Name>test1</Name>" + "<FailureType>Assertion</FailureType>" + "<Location>" + "<File>test.cpp</File>" + "<Line>3</Line>" + "</Location>" + "message failure1" + "</FailedTest>" + "</FailedTests>" + "<SucessfulTests></SucessfulTests>" + "<Statistics>" + "<Tests>1</Tests>" + "<FailuresTotal>1</FailuresTotal>" + "<Errors>0</Errors>" + "<Failures>1</Failures>" + "</Statistics>" + "</TestRun>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml ); +} + + +void +XmlOutputterTest::testWriteXmlResultWithOneError() +{ + CppUnit::TestResult result; + CppUnit::TestCase test1( "test1" ); + result.startTest( &test1 ); + result.addError( &test1, new CppUnit::Exception( "message error1" ) ); + result.endTest( &test1 ); + + CppUnit::OStringStream stream; + CppUnit::XmlOutputter outputter( &result, stream ); + outputter.write(); + + std::string actualXml = stream.str(); + std::string expectedXml = + "<TestRun>" + "<FailedTests>" + "<FailedTest id=\"1\">" + "<Name>test1</Name>" + "<FailureType>Error</FailureType>" + "message error1" + "</FailedTest>" + "</FailedTests>" + "<SucessfulTests></SucessfulTests>" + "<Statistics>" + "<Tests>1</Tests>" + "<FailuresTotal>1</FailuresTotal>" + "<Errors>1</Errors>" + "<Failures>0</Failures>" + "</Statistics>" + "</TestRun>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml ); +} + + +void +XmlOutputterTest::testWriteXmlResultWithOneSucess() +{ + CppUnit::TestResult result; + CppUnit::TestCase test1( "test1" ); + result.startTest( &test1 ); + result.endTest( &test1 ); + + CppUnit::OStringStream stream; + CppUnit::XmlOutputter outputter( &result, stream ); + outputter.write(); + + std::string actualXml = stream.str(); + std::string expectedXml = + "<TestRun>" + "<FailedTests></FailedTests>" + "<SucessfulTests>" + "<Test id=\"1\">" + "<Name>test1</Name>" + "</Test>" + "</SucessfulTests>" + "<Statistics>" + "<Tests>1</Tests>" + "<FailuresTotal>0</FailuresTotal>" + "<Errors>0</Errors>" + "<Failures>0</Failures>" + "</Statistics>" + "</TestRun>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml ); +} + + +void +XmlOutputterTest::testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSucess() +{ + CppUnit::TestCase test1( "test1" ); + CppUnit::TestCase test2( "test2" ); + CppUnit::TestCase test3( "test3" ); + CppUnit::TestCase test4( "test4" ); + CppUnit::TestCase test5( "test5" ); + CppUnit::TestCase test6( "test6" ); + CppUnit::TestCase test7( "test7" ); + CppUnit::TestResult result; + result.startTest( &test1 ); + result.addFailure( &test1, new CppUnit::Exception( "failure1" ) ); + result.endTest( &test1 ); + result.startTest( &test2 ); + result.addError( &test2, new CppUnit::Exception( "error1" ) ); + result.endTest( &test2 ); + result.startTest( &test3 ); + result.addFailure( &test3, new CppUnit::Exception( "failure2" ) ); + result.endTest( &test3 ); + result.startTest( &test4 ); + result.addFailure( &test4, new CppUnit::Exception( "failure3" ) ); + result.endTest( &test4 ); + result.startTest( &test5 ); + result.endTest( &test5 ); + result.startTest( &test6 ); + result.addError( &test6, new CppUnit::Exception( "error2" ) ); + result.endTest( &test6 ); + result.startTest( &test7 ); + result.endTest( &test7 ); + + CppUnit::OStringStream stream; + CppUnit::XmlOutputter outputter( &result, stream ); + outputter.write(); + + std::string actualXml = stream.str(); + std::string expectedXml = + "<TestRun>" + "<FailedTests>" + "<FailedTest id=\"1\">" + "<Name>test1</Name>" + "<FailureType>Assertion</FailureType>" + "failure1" + "</FailedTest>" + "<FailedTest id=\"2\">" + "<Name>test2</Name>" + "<FailureType>Error</FailureType>" + "error1" + "</FailedTest>" + "<FailedTest id=\"3\">" + "<Name>test3</Name>" + "<FailureType>Assertion</FailureType>" + "failure2" + "</FailedTest>" + "<FailedTest id=\"4\">" + "<Name>test4</Name>" + "<FailureType>Assertion</FailureType>" + "failure3" + "</FailedTest>" + "<FailedTest id=\"6\">" + "<Name>test6</Name>" + "<FailureType>Error</FailureType>" + "error2" + "</FailedTest>" + "</FailedTests>" + "<SucessfulTests>" + "<Test id=\"5\">" + "<Name>test5</Name>" + "</Test>" + "<Test id=\"7\">" + "<Name>test7</Name>" + "</Test>" + "</SucessfulTests>" + "<Statistics>" + "<Tests>7</Tests>" + "<FailuresTotal>5</FailuresTotal>" + "<Errors>2</Errors>" + "<Failures>3</Failures>" + "</Statistics>" + "</TestRun>"; + CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml ); +}
\ No newline at end of file |
