]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/xml/xmltest.cpp
Don't reset bullet number and outline number when applying style sheet.
[wxWidgets.git] / tests / xml / xmltest.cpp
index 8c741ca4f3b81253337d856e127131e0fb6ee6ae..9f3d6056a51c9d1a8afac2493f7801a22142d5f2 100644 (file)
@@ -75,11 +75,13 @@ private:
         CPPUNIT_TEST( InsertChild );
         CPPUNIT_TEST( InsertChildAfter );
         CPPUNIT_TEST( LoadSave );
+        CPPUNIT_TEST( CDATA );
     CPPUNIT_TEST_SUITE_END();
 
     void InsertChild();
     void InsertChildAfter();
     void LoadSave();
+    void CDATA();
 
     DECLARE_NO_COPY_CLASS(XmlTestCase)
 };
@@ -185,6 +187,31 @@ void XmlTestCase::LoadSave()
     wxStringOutputStream sos8;
     doc.SetFileEncoding("UTF-8");
     CPPUNIT_ASSERT( doc.Save(sos8) );
-    CPPUNIT_ASSERT_EQUAL( utf8xmlText, sos8.GetString().ToUTF8() );
+    CPPUNIT_ASSERT_EQUAL( wxString(utf8xmlText),
+                          wxString(sos8.GetString().ToUTF8()) );
 }
 
+void XmlTestCase::CDATA()
+{
+    const char *xmlText =
+        "<?xml version=\"1.0\" encoding=\"windows-1252\"?>\n"
+        "<name>\n"
+        "  <![CDATA[Giovanni Mittone]]>\n"
+        "</name>\n"
+    ;
+
+    wxStringInputStream sis(xmlText);
+    wxXmlDocument doc;
+    CPPUNIT_ASSERT( doc.Load(sis) );
+
+    wxXmlNode *n = doc.GetRoot();
+    CPPUNIT_ASSERT( n );
+
+    n = n->GetChildren();
+    CPPUNIT_ASSERT( n );
+
+    // check that both leading ("  ") and trailing white space is not part of
+    // the node contents when CDATA is used and wxXMLDOC_KEEP_WHITESPACE_NODES
+    // is not
+    CPPUNIT_ASSERT_EQUAL( "Giovanni Mittone", n->GetContent() );
+}