From 70d62c5c20105c982df7379e2e61148fc959ff35 Mon Sep 17 00:00:00 2001 From: Baptiste Lepilleur Date: Sat, 13 Apr 2002 17:51:20 +0000 Subject: 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. --- src/cppunit/XmlOutputter.cpp | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) (limited to 'src/cppunit') 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 += "