From: Vadim Zeitlin Date: Sun, 28 May 2006 15:06:14 +0000 (+0000) Subject: added assertion_traits<> specialization for wxString and convenient CPPUNIT_ASSERT_ST... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/fcca30c7e6560839d43a3438dacb08c27fd7e8c0 added assertion_traits<> specialization for wxString and convenient CPPUNIT_ASSERT_STR_EQUAL macro git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/tests/testprec.h b/tests/testprec.h index a794ef33f2..1ec2054d6b 100644 --- a/tests/testprec.h +++ b/tests/testprec.h @@ -1,4 +1,32 @@ #include "wx/wxprec.h" + +#include + +// 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 struct assertion_traits; + +template <> +struct assertion_traits +{ + 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) ) +