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:
@@ -22,6 +22,7 @@
|
|||||||
#endif // WX_PRECOMP
|
#endif // WX_PRECOMP
|
||||||
|
|
||||||
#include "wx/xml/xml.h"
|
#include "wx/xml/xml.h"
|
||||||
|
#include "wx/sstream.h"
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
@@ -73,10 +74,12 @@ private:
|
|||||||
CPPUNIT_TEST_SUITE( XmlTestCase );
|
CPPUNIT_TEST_SUITE( XmlTestCase );
|
||||||
CPPUNIT_TEST( InsertChild );
|
CPPUNIT_TEST( InsertChild );
|
||||||
CPPUNIT_TEST( InsertChildAfter );
|
CPPUNIT_TEST( InsertChildAfter );
|
||||||
|
CPPUNIT_TEST( LoadSave );
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
void InsertChild();
|
void InsertChild();
|
||||||
void InsertChildAfter();
|
void InsertChildAfter();
|
||||||
|
void LoadSave();
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(XmlTestCase)
|
DECLARE_NO_COPY_CLASS(XmlTestCase)
|
||||||
};
|
};
|
||||||
@@ -130,3 +133,35 @@ void XmlTestCase::InsertChildAfter()
|
|||||||
root->InsertChildAfter(new wxXmlNode(wxXML_ELEMENT_NODE, "C"), three);
|
root->InsertChildAfter(new wxXmlNode(wxXML_ELEMENT_NODE, "C"), three);
|
||||||
CheckXml(root, "1", "A", "2", "B", "3", "C", NULL);
|
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() );
|
||||||
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user