summaryrefslogtreecommitdiff
path: root/src/cppunit
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-13 17:51:20 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-13 17:51:20 +0000
commit70d62c5c20105c982df7379e2e61148fc959ff35 (patch)
tree5c8a2bf11b5bba69f999d93e5519d766988caf88 /src/cppunit
parent342c67d11745f45c60deea59163c035ca5780619 (diff)
downloadcppunit-70d62c5c20105c982df7379e2e61148fc959ff35.tar.gz
Include/cppunit/XmlOutputter.
include/cppunit/XmlOutputter.h: * src/cppunit/XmlOutputter.cpp: Made XML output more human readable. Idented element. * examples/cppunittest/XmlUniformiser.h: * examples/cppunittest/XmlUniformiser.cpp: * examples/cppunittest/XmlUniformiserTest.cpp: modified to ignore trailing space at the end of element content.
Diffstat (limited to 'src/cppunit')
-rw-r--r--src/cppunit/XmlOutputter.cpp40
1 files changed, 30 insertions, 10 deletions
diff --git a/src/cppunit/XmlOutputter.cpp b/src/cppunit/XmlOutputter.cpp
index 7b9b2b7..d90513f 100644
--- a/src/cppunit/XmlOutputter.cpp
+++ b/src/cppunit/XmlOutputter.cpp
@@ -62,22 +62,42 @@ XmlOutputter::Node::addNode( Node *node )
std::string
-XmlOutputter::Node::toString() const
+XmlOutputter::Node::toString( const std::string &indent ) const
{
- std::string element = "<";
+ std::string element( indent );
+ element += "<";
element += m_name;
- element += " ";
- element += attributesAsString();
- element += " >\n";
+ if ( !m_attributes.empty() )
+ {
+ element += " ";
+ element += attributesAsString();
+ }
+ element += ">";
- Nodes::const_iterator itNode = m_nodes.begin();
- while ( itNode != m_nodes.end() )
+ if ( !m_nodes.empty() )
{
- const Node *node = *itNode++;
- element += node->toString();
+ element += "\n";
+
+ std::string subNodeIndent( indent + " " );
+ Nodes::const_iterator itNode = m_nodes.begin();
+ while ( itNode != m_nodes.end() )
+ {
+ const Node *node = *itNode++;
+ element += node->toString( subNodeIndent );
+ }
+
+ element += indent;
}
- element += escape( m_content );
+ if ( !m_content.empty() )
+ {
+ element += escape( m_content );
+ if ( !m_nodes.empty() )
+ {
+ element += "\n";
+ element += indent;
+ }
+ }
element += "</";
element += m_name;