|
Packit |
8c9aa0 |
#include <cppunit/config/SourcePrefix.h>
|
|
Packit |
8c9aa0 |
#include <cppunit/tools/XmlElement.h>
|
|
Packit |
8c9aa0 |
#include "ToolsSuite.h"
|
|
Packit |
8c9aa0 |
#include "XmlElementTest.h"
|
|
Packit |
8c9aa0 |
#include "XmlUniformiser.h"
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlElementTest,
|
|
Packit |
8c9aa0 |
toolsSuiteName() );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
XmlElementTest::XmlElementTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
XmlElementTest::~XmlElementTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::setUp()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::tearDown()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testStringContentConstructor()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement element( "aName", "someContent" );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("aName"), element.name() );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("someContent"), element.content() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testNumericContentConstructor()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement element( "numericName", 123456789 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("numericName"), element.name() );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("123456789"), element.content() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testSetName()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement element( "aName" );
|
|
Packit |
8c9aa0 |
element.setName( "anotherName" );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("anotherName"), element.name() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testSetStringContent()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement element( "aName", "someContent" );
|
|
Packit |
8c9aa0 |
element.setContent( "other" );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("other"), element.content() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testSetNumericContent()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement element( "aName", "someContent" );
|
|
Packit |
8c9aa0 |
element.setContent( 87654321 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( std::string("87654321"), element.content() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementCount()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element", "content" );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( 0, node.elementCount() );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "child2" ) );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT_EQUAL( 2, node.elementCount() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementAtNegativeIndexThrow()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.elementAt( -1 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementAtTooLargeIndexThrow()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.elementAt( 0 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementAt()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement *element1 = new CPPUNIT_NS::XmlElement( "element1" );
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement *element2 = new CPPUNIT_NS::XmlElement( "element2" );
|
|
Packit |
8c9aa0 |
node.addElement( element1 );
|
|
Packit |
8c9aa0 |
node.addElement( element2 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( element1 == node.elementAt(0) );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( element2 == node.elementAt(1) );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementForThrow()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "element1" ) );
|
|
Packit |
8c9aa0 |
node.elementFor( "name2" );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementFor()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement *element1 = new CPPUNIT_NS::XmlElement( "element1" );
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement *element2 = new CPPUNIT_NS::XmlElement( "element2" );
|
|
Packit |
8c9aa0 |
node.addElement( element1 );
|
|
Packit |
8c9aa0 |
node.addElement( element2 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( element2 == node.elementFor( "element2" ) );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( element1 == node.elementFor( "element1" ) );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testEmptyNodeToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element></element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementWithAttributesToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.addAttribute( "id", 17 );
|
|
Packit |
8c9aa0 |
node.addAttribute( "date-format", "iso-8901" );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "
|
|
Packit |
8c9aa0 |
"date-format=\"iso-8901\">"
|
|
Packit |
8c9aa0 |
"</element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testEscapedAttributeValueToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.addAttribute( "escaped", "&<>\"'" );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "
|
|
Packit |
8c9aa0 |
"&<>"'"
|
|
Packit |
8c9aa0 |
"\"></element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementToStringEscapeContent()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element", "ChessTest<class Chess>" );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element>"
|
|
Packit |
8c9aa0 |
"ChessTest<class Chess>"
|
|
Packit |
8c9aa0 |
"</element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementWithChildrenToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element" );
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "child2" ) );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element><child1></child1>"
|
|
Packit |
8c9aa0 |
"<child2></child2></element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementWithContentToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element", "content\nline2" );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element>content\nline2</element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementWithNumericContentToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element", 123456789 );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element>123456789</element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
XmlElementTest::testElementWithContentAndChildToString()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::XmlElement node( "element", "content" );
|
|
Packit |
8c9aa0 |
node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
|
|
Packit |
8c9aa0 |
std::string expectedXml = "<element><child1></child1>content</element>";
|
|
Packit |
8c9aa0 |
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
|
|
Packit |
8c9aa0 |
}
|