diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-04-13 17:51:20 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-04-13 17:51:20 +0000 |
| commit | 70d62c5c20105c982df7379e2e61148fc959ff35 (patch) | |
| tree | 5c8a2bf11b5bba69f999d93e5519d766988caf88 /src/cppunit | |
| parent | 342c67d11745f45c60deea59163c035ca5780619 (diff) | |
| download | cppunit-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.cpp | 40 |
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; |
