CppUnit project page FAQ CppUnit home page

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

XmlOutputter Class Reference
[Writing test result]

Outputs a TestResultCollector in XML format. More...

#include <XmlOutputter.h>

Inheritance diagram for XmlOutputter:

Outputter List of all members.

Public Types

typedef CppUnitMap< Test *,
TestFailure *, std::less<
Test * > > 
FailedTests

Public Member Functions

 XmlOutputter (TestResultCollector *result, std::ostream &stream, std::string encoding=std::string("ISO-8859-1"))
 Constructs a XmlOutputter object.

virtual ~XmlOutputter ()
 Destructor.

virtual void addHook (XmlOutputterHook *hook)
 Adds the specified hook to the outputter.

virtual void removeHook (XmlOutputterHook *hook)
 Removes the specified hook from the outputter.

virtual void write ()
 Writes the specified result as an XML document to the stream.

virtual void setStyleSheet (const std::string &styleSheet)
 Sets the XSL style sheet used.

virtual void setRootNode ()
 Sets the root element and adds its children.

virtual void addFailedTests (FailedTests &failedTests, XmlElement *rootNode)
virtual void addSuccessfulTests (FailedTests &failedTests, XmlElement *rootNode)
virtual void addStatistics (XmlElement *rootNode)
 Adds the statics element to the root node.

virtual void addFailedTest (Test *test, TestFailure *failure, int testNumber, XmlElement *testsNode)
 Adds a failed test to the failed tests node. Creates a new element containing datas about the failed test, and adds it to the failed tests element. Then, for all hooks, call failTestAdded().

virtual void addFailureLocation (TestFailure *failure, XmlElement *testElement)
virtual void addSuccessfulTest (Test *test, int testNumber, XmlElement *testsNode)
 Adds a successful test to the successful tests node. Creates a new element containing datas about the successful test, and adds it to the successful tests element. Then, for all hooks, call successfulTestAdded().


Protected Types

typedef CppUnitDeque< XmlOutputterHook * > Hooks

Protected Member Functions

virtual void fillFailedTestsMap (FailedTests &failedTests)

Protected Attributes

TestResultCollectorm_result
std::ostream & m_stream
std::string m_encoding
std::string m_styleSheet
XmlDocumentm_xml
Hooks m_hooks

Private Member Functions

 XmlOutputter (const XmlOutputter &copy)
 Prevents the use of the copy constructor.

void operator= (const XmlOutputter &copy)
 Prevents the use of the copy operator.


Detailed Description

Outputs a TestResultCollector in XML format.

Save the test result as a XML stream.

Additional datas can be added to the XML document using XmlOutputterHook. Hook are not owned by the XmlOutputter. They should be valid until destruction of the XmlOutputter. They can be removed with removeHook().

See also:
XmlDocument, XmlElement, XmlOutputterHook.


Member Typedef Documentation

typedef CppUnitMap<Test *,TestFailure*, std::less<Test*> > XmlOutputter::FailedTests
 

typedef CppUnitDeque<XmlOutputterHook *> XmlOutputter::Hooks [protected]
 


Constructor & Destructor Documentation

CPPUNIT_NS_BEGIN XmlOutputter::XmlOutputter TestResultCollector result,
std::ostream &  stream,
std::string  encoding = std::string("ISO-8859-1")
 

Constructs a XmlOutputter object.

Parameters:
result Result of the test run.
stream Stream used to output the XML output.
encoding Encoding used in the XML file (default is Latin-1).

XmlOutputter::~XmlOutputter  )  [virtual]
 

Destructor.

XmlOutputter::XmlOutputter const XmlOutputter copy  )  [private]
 

Prevents the use of the copy constructor.


Member Function Documentation

void XmlOutputter::addFailedTest Test test,
TestFailure failure,
int  testNumber,
XmlElement testsNode
[virtual]
 

Adds a failed test to the failed tests node. Creates a new element containing datas about the failed test, and adds it to the failed tests element. Then, for all hooks, call failTestAdded().

void XmlOutputter::addFailedTests FailedTests failedTests,
XmlElement rootNode
[virtual]
 

void XmlOutputter::addFailureLocation TestFailure failure,
XmlElement testElement
[virtual]
 

void XmlOutputter::addHook XmlOutputterHook hook  )  [virtual]
 

Adds the specified hook to the outputter.

Parameters:
hook Hook to add. Must not be NULL.

void XmlOutputter::addStatistics XmlElement rootNode  )  [virtual]
 

Adds the statics element to the root node.

Creates a new element containing statistics data and adds it to the root element. Then, for all hooks, call statisticsAdded().

Parameters:
rootNode Root element.

void XmlOutputter::addSuccessfulTest Test test,
int  testNumber,
XmlElement testsNode
[virtual]
 

Adds a successful test to the successful tests node. Creates a new element containing datas about the successful test, and adds it to the successful tests element. Then, for all hooks, call successfulTestAdded().

void XmlOutputter::addSuccessfulTests FailedTests failedTests,
XmlElement rootNode
[virtual]
 

void XmlOutputter::fillFailedTestsMap FailedTests failedTests  )  [protected, virtual]
 

void XmlOutputter::operator= const XmlOutputter copy  )  [private]
 

Prevents the use of the copy operator.

void XmlOutputter::removeHook XmlOutputterHook hook  )  [virtual]
 

Removes the specified hook from the outputter.

Parameters:
hook Hook to remove.

void XmlOutputter::setRootNode  )  [virtual]
 

Sets the root element and adds its children.

Set the root element of the XML Document and add its child elements.

For all hooks, call beginDocument() just after creating the root element (it is empty at this time), and endDocument() once all the datas have been added to the root element.

void XmlOutputter::setStyleSheet const std::string &  styleSheet  )  [virtual]
 

Sets the XSL style sheet used.

Parameters:
styleSheet Name of the style sheet used. If empty, then no style sheet is used (default).

void XmlOutputter::write  )  [virtual]
 

Writes the specified result as an XML document to the stream.

Refer to examples/cppunittest/XmlOutputterTest.cpp for example of use and XML document structure.

Implements Outputter.


Member Data Documentation

std::string XmlOutputter::m_encoding [protected]
 

Hooks XmlOutputter::m_hooks [protected]
 

TestResultCollector* XmlOutputter::m_result [protected]
 

std::ostream& XmlOutputter::m_stream [protected]
 

std::string XmlOutputter::m_styleSheet [protected]
 

XmlDocument* XmlOutputter::m_xml [protected]
 


The documentation for this class was generated from the following files:
SourceForge Logo hosts this site. Send comments to:
CppUnit Developers