From 4c493e0bc5b3f4fff578d89893dc92d03a58e571 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 10 Oct 2008 15:37:50 +0000 Subject: [PATCH] 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 --- tests/xml/xmltest.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/xml/xmltest.cpp b/tests/xml/xmltest.cpp index 96f812b600..600650360e 100644 --- a/tests/xml/xmltest.cpp +++ b/tests/xml/xmltest.cpp @@ -22,6 +22,7 @@ #endif // WX_PRECOMP #include "wx/xml/xml.h" +#include "wx/sstream.h" #include @@ -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 = +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" + ; + + wxStringInputStream sis(xmlText); + + wxXmlDocument doc; + CPPUNIT_ASSERT( doc.Load(sis) ); + + wxStringOutputStream sos; + CPPUNIT_ASSERT( doc.Save(sos) ); + + CPPUNIT_ASSERT_EQUAL( xmlText, sos.GetString() ); +} + -- 2.45.2