Blame examples/cppunittest/XmlUniformiser.h

Packit Service e31359
#ifndef CPPUNITTEST_XMLUNIFORMISER_H
Packit Service e31359
#define CPPUNITTEST_XMLUNIFORMISER_H
Packit Service e31359
Packit Service e31359
#include <cppunit/SourceLine.h>
Packit Service e31359
#include <cppunit/TestAssert.h>
Packit Service e31359
#include <string>
Packit Service e31359
Packit Service e31359
Packit Service e31359
/*! Uniformise an XML string.
Packit Service e31359
 *
Packit Service e31359
 * Strips spaces between attribut in Element.
Packit Service e31359
 * \warning Attribute values must be double-quoted (att="value").
Packit Service e31359
 * No support for embedded DTD declaration
Packit Service e31359
 */
Packit Service e31359
class XmlUniformiser
Packit Service e31359
{
Packit Service e31359
public:
Packit Service e31359
  XmlUniformiser( const std::string &xml );
Packit Service e31359
  std::string stripped();
Packit Service e31359
Packit Service e31359
private:
Packit Service e31359
  void skipSpaces();
Packit Service e31359
  bool isValidIndex();
Packit Service e31359
  void skipNext( int count =1 );
Packit Service e31359
  void copyNext( int count =1 );
Packit Service e31359
  void skipProcessed();
Packit Service e31359
  void skipComment();
Packit Service e31359
  void copyElement();
Packit Service e31359
  void copyElementContent();
Packit Service e31359
  bool isSpace( char c );
Packit Service e31359
  bool isSpace();
Packit Service e31359
  bool startsWith( std::string expected );
Packit Service e31359
  void copyElementName();
Packit Service e31359
  void copyElementAttributes();
Packit Service e31359
  void copyAttributeName();
Packit Service e31359
  bool isEndOfAttributeName();
Packit Service e31359
  void copyAttributeValue();
Packit Service e31359
  void copyUntilDoubleQuote();
Packit Service e31359
  void removeTrailingSpaces();
Packit Service e31359
Packit Service e31359
private:
Packit Service e31359
  unsigned int m_index;
Packit Service e31359
  std::string m_xml;
Packit Service e31359
  std::string m_stripped;
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
checkXmlEqual( std::string expectedXml,
Packit Service e31359
               std::string actualXml,
Packit Service e31359
               CPPUNIT_NS::SourceLine sourceLine );
Packit Service e31359
Packit Service e31359
Packit Service e31359
/// Asserts that two XML strings are equivalent.
Packit Service e31359
#define CPPUNITTEST_ASSERT_XML_EQUAL( expected, actual ) \
Packit Service e31359
    ::checkXmlEqual( expected, actual,      \
Packit Service e31359
                     CPPUNIT_SOURCELINE() )
Packit Service e31359
Packit Service e31359
Packit Service e31359
Packit Service e31359
#endif  // XMLUNIFORMISER_H