X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/49297c840b6151d280b5747460383bc220e03a6a..10d302224e3555520f3e3c29d4dc7b7a9654b295:/include/wx/cppunit.h

diff --git a/include/wx/cppunit.h b/include/wx/cppunit.h
index d961039112..7f1923332a 100644
--- a/include/wx/cppunit.h
+++ b/include/wx/cppunit.h
@@ -29,6 +29,10 @@
     #pragma warn -8022
 #endif
 
+#ifndef CPPUNIT_STD_NEED_ALLOCATOR
+    #define CPPUNIT_STD_NEED_ALLOCATOR 0
+#endif
+
 ///////////////////////////////////////////////////////////////////////////////
 // Set the default format for the errors, which can be used by an IDE to jump
 // to the error location. This default gets overridden by the cppunit headers
@@ -84,16 +88,22 @@
 #define WX_ASSERT_SIZET_EQUAL(n, m) CPPUNIT_ASSERT_EQUAL(((size_t)n), m)
 
 ///////////////////////////////////////////////////////////////////////////////
-// stream inserter for wxString
-//
+// define stream inserter for wxString if it's not defined in the main library,
+// we need it to output the test failures involving wxString
+#if !wxUSE_STD_IOSTREAM
 
 #include "wx/string.h"
 
 inline std::ostream& operator<<(std::ostream& o, const wxString& s)
 {
-    return o << wxSafeConvertWX2MB(s);
+#if wxUSE_UNICODE
+    return o << (const char *)wxSafeConvertWX2MB(s.wc_str());
+#else
+    return o << s.c_str();
+#endif
 }
 
+#endif // !wxUSE_STD_IOSTREAM
 
 ///////////////////////////////////////////////////////////////////////////////
 // Some more compiler warning tweaking and auto linking.