2004-11-22 00:00:19 -05:00
|
|
|
#include "wx/wxprec.h"
|
|
|
|
#include "wx/cppunit.h"
|
2006-03-31 12:42:26 -05:00
|
|
|
|
|
|
|
// define wxHAVE_U_ESCAPE if the compiler supports \uxxxx character constants
|
|
|
|
#if (defined(__VISUALC__) && (__VISUALC__ >= 1300)) || \
|
|
|
|
(defined(__GNUC__) && (__GNUC__ >= 3))
|
|
|
|
#define wxHAVE_U_ESCAPE
|
|
|
|
#endif
|
2008-12-20 21:28:55 -05:00
|
|
|
|
|
|
|
// thrown when assert fails in debug build
|
2009-03-25 06:42:11 -04:00
|
|
|
class TestAssertFailure
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
TestAssertFailure(const wxString& file,
|
|
|
|
int line,
|
|
|
|
const wxString& func,
|
|
|
|
const wxString& cond,
|
|
|
|
const wxString& msg)
|
|
|
|
: m_file(file),
|
|
|
|
m_line(line),
|
|
|
|
m_func(func),
|
|
|
|
m_cond(cond),
|
|
|
|
m_msg(msg)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
const wxString m_file;
|
|
|
|
const int m_line;
|
|
|
|
const wxString m_func;
|
|
|
|
const wxString m_cond;
|
|
|
|
const wxString m_msg;
|
|
|
|
|
|
|
|
wxDECLARE_NO_ASSIGN_CLASS(TestAssertFailure);
|
|
|
|
};
|
2008-12-20 21:28:55 -05:00
|
|
|
|
|
|
|
// macro to use for the functions which are supposed to fail an assertion
|
2009-03-21 19:36:37 -04:00
|
|
|
#if wxDEBUG_LEVEL
|
2008-12-20 21:28:55 -05:00
|
|
|
// some old cppunit versions don't define CPPUNIT_ASSERT_THROW so roll our
|
|
|
|
// own
|
|
|
|
#define WX_ASSERT_FAILS_WITH_ASSERT(cond) \
|
|
|
|
{ \
|
|
|
|
bool throwsAssert = false; \
|
|
|
|
try { cond ; } \
|
|
|
|
catch ( const TestAssertFailure& ) { throwsAssert = true; } \
|
|
|
|
if ( !throwsAssert ) \
|
|
|
|
CPPUNIT_FAIL("expected assertion not generated"); \
|
|
|
|
}
|
|
|
|
#else
|
2009-03-21 19:36:37 -04:00
|
|
|
// there are no assertions in this build so just check that it fails
|
2008-12-20 21:28:55 -05:00
|
|
|
#define WX_ASSERT_FAILS_WITH_ASSERT(cond) CPPUNIT_ASSERT(!(cond))
|
|
|
|
#endif
|
|
|
|
|
2009-01-16 11:21:50 -05:00
|
|
|
// these functions can be used to hook into wxApp event processing and are
|
|
|
|
// currently used by the events propagation test
|
2009-01-16 12:19:16 -05:00
|
|
|
class WXDLLIMPEXP_FWD_BASE wxEvent;
|
|
|
|
|
2009-01-16 11:21:50 -05:00
|
|
|
typedef int (*FilterEventFunc)(wxEvent&);
|
|
|
|
typedef bool (*ProcessEventFunc)(wxEvent&);
|
|
|
|
|
|
|
|
extern void SetFilterEventFunc(FilterEventFunc func);
|
|
|
|
extern void SetProcessEventFunc(ProcessEventFunc func);
|