summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-02-11 12:14:00 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-02-11 12:14:00 (GMT)
commit0efa7c32aaf21a29b42b5926cc116007056843be (patch)
tree882f663a5dd0e65694bf6077b71086dd77fd7ff8 /3rdParty/CppUnit/src/XmlElement.cpp
parent1d20eabbc32274b491b4c2bedf73d19933d97bfd (diff)
downloadswift-0efa7c32aaf21a29b42b5926cc116007056843be.zip
swift-0efa7c32aaf21a29b42b5926cc116007056843be.tar.bz2
Moved some modules into separate git modules.
Diffstat (limited to '3rdParty/CppUnit/src/XmlElement.cpp')
m---------3rdParty/CppUnit0
-rw-r--r--3rdParty/CppUnit/src/XmlElement.cpp226
2 files changed, 0 insertions, 226 deletions
diff --git a/3rdParty/CppUnit b/3rdParty/CppUnit
new file mode 160000
+Subproject b4c34eb947c6497c6387c55c7581ec875f4e7d4
diff --git a/3rdParty/CppUnit/src/XmlElement.cpp b/3rdParty/CppUnit/src/XmlElement.cpp
deleted file mode 100644
index f930ad4..0000000
--- a/3rdParty/CppUnit/src/XmlElement.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-#include <cppunit/tools/StringTools.h>
-#include <cppunit/tools/XmlElement.h>
-#include <stdexcept>
-
-
-CPPUNIT_NS_BEGIN
-
-
-XmlElement::XmlElement( std::string elementName,
- std::string content )
- : m_name( elementName )
- , m_content( content )
-{
-}
-
-
-XmlElement::XmlElement( std::string elementName,
- int numericContent )
- : m_name( elementName )
-{
- setContent( numericContent );
-}
-
-
-XmlElement::~XmlElement()
-{
- Elements::iterator itNode = m_elements.begin();
- while ( itNode != m_elements.end() )
- {
- XmlElement *element = *itNode++;
- delete element;
- }
-}
-
-
-std::string
-XmlElement::name() const
-{
- return m_name;
-}
-
-
-std::string
-XmlElement::content() const
-{
- return m_content;
-}
-
-
-void
-XmlElement::setName( const std::string &name )
-{
- m_name = name;
-}
-
-
-void
-XmlElement::setContent( const std::string &content )
-{
- m_content = content;
-}
-
-
-void
-XmlElement::setContent( int numericContent )
-{
- m_content = StringTools::toString( numericContent );
-}
-
-
-void
-XmlElement::addAttribute( std::string attributeName,
- std::string value )
-{
- m_attributes.push_back( Attribute( attributeName, value ) );
-}
-
-
-void
-XmlElement::addAttribute( std::string attributeName,
- int numericValue )
-{
- addAttribute( attributeName, StringTools::toString( numericValue ) );
-}
-
-
-void
-XmlElement::addElement( XmlElement *node )
-{
- m_elements.push_back( node );
-}
-
-
-int
-XmlElement::elementCount() const
-{
- return m_elements.size();
-}
-
-
-XmlElement *
-XmlElement::elementAt( int index ) const
-{
- if ( index < 0 || index >= elementCount() )
- throw std::invalid_argument( "XmlElement::elementAt(), out of range index" );
-
- return m_elements[ index ];
-}
-
-
-XmlElement *
-XmlElement::elementFor( const std::string &name ) const
-{
- Elements::const_iterator itElement = m_elements.begin();
- for ( ; itElement != m_elements.end(); ++itElement )
- {
- if ( (*itElement)->name() == name )
- return *itElement;
- }
-
- throw std::invalid_argument( "XmlElement::elementFor(), not matching child element found" );
- return NULL; // make some compilers happy.
-}
-
-
-std::string
-XmlElement::toString( const std::string &indent ) const
-{
- std::string element( indent );
- element += "<";
- element += m_name;
- if ( !m_attributes.empty() )
- {
- element += " ";
- element += attributesAsString();
- }
- element += ">";
-
- if ( !m_elements.empty() )
- {
- element += "\n";
-
- std::string subNodeIndent( indent + " " );
- Elements::const_iterator itNode = m_elements.begin();
- while ( itNode != m_elements.end() )
- {
- const XmlElement *node = *itNode++;
- element += node->toString( subNodeIndent );
- }
-
- element += indent;
- }
-
- if ( !m_content.empty() )
- {
- element += escape( m_content );
- if ( !m_elements.empty() )
- {
- element += "\n";
- element += indent;
- }
- }
-
- element += "</";
- element += m_name;
- element += ">\n";
-
- return element;
-}
-
-
-std::string
-XmlElement::attributesAsString() const
-{
- std::string attributes;
- Attributes::const_iterator itAttribute = m_attributes.begin();
- while ( itAttribute != m_attributes.end() )
- {
- if ( !attributes.empty() )
- attributes += " ";
-
- const Attribute &attribute = *itAttribute++;
- attributes += attribute.first;
- attributes += "=\"";
- attributes += escape( attribute.second );
- attributes += "\"";
- }
- return attributes;
-}
-
-
-std::string
-XmlElement::escape( std::string value ) const
-{
- std::string escaped;
- for ( unsigned int index =0; index < value.length(); ++index )
- {
- char c = value[index ];
- switch ( c ) // escape all predefined XML entity (safe?)
- {
- case '<':
- escaped += "&lt;";
- break;
- case '>':
- escaped += "&gt;";
- break;
- case '&':
- escaped += "&amp;";
- break;
- case '\'':
- escaped += "&apos;";
- break;
- case '"':
- escaped += "&quot;";
- break;
- default:
- escaped += c;
- }
- }
-
- return escaped;
-}
-
-
-CPPUNIT_NS_END
-