add a very simple test for Load/Save()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-10-10 15:37:50 +00:00
parent 703ee9f5ec
commit 4c493e0bc5

View File

@@ -22,6 +22,7 @@
#endif // WX_PRECOMP
#include "wx/xml/xml.h"
#include "wx/sstream.h"
#include <stdarg.h>
@@ -73,10 +74,12 @@ private:
CPPUNIT_TEST_SUITE( XmlTestCase );
CPPUNIT_TEST( InsertChild );
CPPUNIT_TEST( InsertChildAfter );
CPPUNIT_TEST( LoadSave );
CPPUNIT_TEST_SUITE_END();
void InsertChild();
void InsertChildAfter();
void LoadSave();
DECLARE_NO_COPY_CLASS(XmlTestCase)
};
@@ -130,3 +133,35 @@ void XmlTestCase::InsertChildAfter()
root->InsertChildAfter(new wxXmlNode(wxXML_ELEMENT_NODE, "C"), three);
CheckXml(root, "1", "A", "2", "B", "3", "C", NULL);
}
void XmlTestCase::LoadSave()
{
// NB: this is not real XRC but rather some XRC-like XML fragment which
// exercises different XML constructs to check that they're saved back
// correctly
//
// Also note that there should be no blank lines here as they disappear
// after saving.
const char *xmlText =
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"
"<resource xmlns=\"http://www.wxwidgets.org/wxxrc\" version=\"2.3.0.1\">\n"
" <object class=\"wxDialog\" name=\"my_dialog\">\n"
" <children>\n"
" <grandchild id=\"1\"/>\n"
" </children>\n"
" <subobject/>\n"
" </object>\n"
"</resource>\n"
;
wxStringInputStream sis(xmlText);
wxXmlDocument doc;
CPPUNIT_ASSERT( doc.Load(sis) );
wxStringOutputStream sos;
CPPUNIT_ASSERT( doc.Save(sos) );
CPPUNIT_ASSERT_EQUAL( xmlText, sos.GetString() );
}