]> git.saurik.com Git - wxWidgets.git/commitdiff
added assertion_traits<> specialization for wxString and convenient CPPUNIT_ASSERT_ST...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 28 May 2006 15:06:14 +0000 (15:06 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 28 May 2006 15:06:14 +0000 (15:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/testprec.h

index a794ef33f28f54fb5423b2c1544a10e198fc78c5..1ec2054d6bf853f258283122f534827d8cd7bae6 100644 (file)
@@ -1,4 +1,32 @@
 #include "wx/wxprec.h"
+
+#include <string>
+
+// need this to be able to use CPPUNIT_ASSERT_EQUAL with wxString objects
+//
+// NB: at least for VC7.1 the specialization must be done before cppunit
+//     headers inclusion as otherwise it's just ignored!
+namespace CppUnit
+{
+
+template <typename T> struct assertion_traits;
+
+template <>
+struct assertion_traits<wxString>
+{
+    static bool equal(const wxString& s1, const wxString& s2)
+    {
+      return s1 == s2;
+    }
+
+    static std::string toString(const wxString& s)
+    {
+      return std::string(s.mb_str());
+    }
+};
+
+} // namespace CppUnit
+
 #include "wx/cppunit.h"
 
 // define wxHAVE_U_ESCAPE if the compiler supports \uxxxx character constants
@@ -7,3 +35,6 @@
     #define wxHAVE_U_ESCAPE
 #endif
 
+#define CPPUNIT_ASSERT_STR_EQUAL(s1, s2)                                      \
+    CPPUNIT_ASSERT_EQUAL( wxString(s1), wxString(s2) )
+