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
This commit is contained in:
Vadim Zeitlin 2006-05-28 15:06:14 +00:00
parent 1e1c5d6276
commit fcca30c7e6

View File

@ -1,4 +1,32 @@
#include "wx/wxprec.h" #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" #include "wx/cppunit.h"
// define wxHAVE_U_ESCAPE if the compiler supports \uxxxx character constants // define wxHAVE_U_ESCAPE if the compiler supports \uxxxx character constants
@ -7,3 +35,6 @@
#define wxHAVE_U_ESCAPE #define wxHAVE_U_ESCAPE
#endif #endif
#define CPPUNIT_ASSERT_STR_EQUAL(s1, s2) \
CPPUNIT_ASSERT_EQUAL( wxString(s1), wxString(s2) )