X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4c493e0bc5b3f4fff578d89893dc92d03a58e571..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/tests/xml/xmltest.cpp diff --git a/tests/xml/xmltest.cpp b/tests/xml/xmltest.cpp index 600650360e..6d7faeb3c8 100644 --- a/tests/xml/xmltest.cpp +++ b/tests/xml/xmltest.cpp @@ -163,5 +163,29 @@ void XmlTestCase::LoadSave() CPPUNIT_ASSERT( doc.Save(sos) ); CPPUNIT_ASSERT_EQUAL( xmlText, sos.GetString() ); + + + const char *utf8xmlText = +"\n" +"\n" +" \xc3\xa9t\xc3\xa9\n" +" \xd0\xbb\xd0\xb5\xd1\x82\xd0\xbe\n" +"\n" + ; + + wxStringInputStream sis8(wxString::FromUTF8(utf8xmlText)); + CPPUNIT_ASSERT( doc.Load(sis8) ); + + // this contents can't be represented in Latin-1 as it contains Cyrillic + // letters + doc.SetFileEncoding("ISO-8859-1"); + CPPUNIT_ASSERT( !doc.Save(sos) ); + + // but it should work in UTF-8 + wxStringOutputStream sos8; + doc.SetFileEncoding("UTF-8"); + CPPUNIT_ASSERT( doc.Save(sos8) ); + CPPUNIT_ASSERT_EQUAL( wxString(utf8xmlText), + wxString(sos8.GetString().ToUTF8()) ); }