X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/044a69a42d263a1326c895b98e21b792048a594e..15f7c30516facfb272fc116aec4d3f9c3a9de085:/include/wx/cppunit.h?ds=sidebyside diff --git a/include/wx/cppunit.h b/include/wx/cppunit.h index 243e68303f..7f1923332a 100644 --- a/include/wx/cppunit.h +++ b/include/wx/cppunit.h @@ -5,6 +5,7 @@ // Created: 15.02.04 // RCS-ID: $Id$ // Copyright: (c) 2004 Vadim Zeitlin +// Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_CPPUNIT_H_ @@ -28,6 +29,19 @@ #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 +// for some compilers (e.g. VC++). + +#ifndef CPPUNIT_COMPILER_LOCATION_FORMAT + #define CPPUNIT_COMPILER_LOCATION_FORMAT "%p:%l:" +#endif + /////////////////////////////////////////////////////////////////////////////// // Include all needed cppunit headers. @@ -38,6 +52,7 @@ #include #include #include +#include #include "wx/afterstd.h" @@ -47,7 +62,7 @@ // Base macro for wrapping CPPUNIT_TEST macros and so making them conditional // tests, meaning that the test only get registered and thus run when a given -// runtime condition is true. +// runtime condition is true. // In case the condition is evaluated as false a skip message is logged // (the message will only be shown in verbose mode). #define WXTEST_ANY_WITH_CONDITION(suiteName, Condition, testMethod, anyTest) \ @@ -66,6 +81,29 @@ #define WXTEST_FAIL_WITH_CONDITION(suiteName, Condition, testMethod) \ WXTEST_ANY_WITH_CONDITION(suiteName, Condition, testMethod, CPPUNIT_TEST_FAIL(testMethod)) +// Use this macro to compare a wxString with a literal string. +#define WX_ASSERT_STR_EQUAL(p, s) CPPUNIT_ASSERT_EQUAL(wxString(p), s) + +// Use this macro to compare a size_t with a literal integer +#define WX_ASSERT_SIZET_EQUAL(n, m) CPPUNIT_ASSERT_EQUAL(((size_t)n), m) + +/////////////////////////////////////////////////////////////////////////////// +// 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) +{ +#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.