]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/streams/sstream.cpp
Don't use GetThreadId() in wxMSW code.
[wxWidgets.git] / tests / streams / sstream.cpp
index c50fbd8c11c2c7d29283c595fb422e117905a0e2..3d65dd7eae8566376a1bd310f04fbcdc7019617c 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Vadim Zeitlin
 // RCS-ID:      $Id$
 // Copyright:   (c) 2004 Vadim Zeitlin
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx/wx.h".
@@ -56,16 +56,21 @@ public:
         //CPPUNIT_TEST(Output_TellO);
 
         // Other test specific for String stream test case.
+        CPPUNIT_TEST(Output_Check);
     CPPUNIT_TEST_SUITE_END();
 
 protected:
-    // Add own test here.
+    void Output_Check();
 
 private:
     // Implement base class functions.
     virtual wxStringInputStream  *DoCreateInStream();
     virtual wxStringOutputStream *DoCreateOutStream();
 
+    // output the given string to wxStringOutputStream and check that its
+    // contents is exactly the same string
+    void CheckString(const wxString& text);
+
     wxString m_str;
 };
 
@@ -75,7 +80,7 @@ strStream::strStream()
     m_str.reserve(LEN);
     for ( size_t n = 0; n < LEN; n++ )
     {
-        m_str += wxChar(_T('A') + n % (_T('Z') - _T('A') + 1));
+        m_str += wxChar(wxT('A') + n % (wxT('Z') - wxT('A') + 1));
     }
 }
 
@@ -97,6 +102,21 @@ wxStringOutputStream *strStream::DoCreateOutStream()
     return pStrOutStream;
 }
 
+void strStream::CheckString(const wxString& text)
+{
+    wxStringOutputStream sos;
+
+    const wxCharBuffer buf(text.To8BitData());
+    sos.Write(buf, buf.length());
+
+    CPPUNIT_ASSERT_EQUAL( text, sos.GetString() );
+}
+
+void strStream::Output_Check()
+{
+    CheckString("Hello world!");
+    CheckString(wxString("hi\0dden", 8));
+}
 
 // Register the stream sub suite, by using some stream helper macro.
 STREAM_TEST_SUBSUITE_NAMED_REGISTRATION(strStream)