]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/xml/xmltest.cpp
Use theme border in wxListCtrl sample
[wxWidgets.git] / tests / xml / xmltest.cpp
index 600650360ee3bde29282a9cccfc1aa2beca0e176..6d7faeb3c84ef8b2b2d9d91100bac8c504b6548e 100644 (file)
@@ -163,5 +163,29 @@ void XmlTestCase::LoadSave()
     CPPUNIT_ASSERT( doc.Save(sos) );
 
     CPPUNIT_ASSERT_EQUAL( xmlText, sos.GetString() );
+
+
+    const char *utf8xmlText =
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<word>\n"
+"  <lang name=\"fr\">\xc3\xa9t\xc3\xa9</lang>\n"
+"  <lang name=\"ru\">\xd0\xbb\xd0\xb5\xd1\x82\xd0\xbe</lang>\n"
+"</word>\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()) );
 }