X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e042c3b582a4d707b366ba2594b31305892fed6f..968b44d37b9fcdc5232fb68312a65e4fc6b5f4ab:/tests/testprec.h diff --git a/tests/testprec.h b/tests/testprec.h index d956d4353a..0005f5bb3e 100644 --- a/tests/testprec.h +++ b/tests/testprec.h @@ -2,6 +2,8 @@ #define WX_TESTPREC_INCLUDED 1 #include "wx/wxprec.h" +#include "wx/stopwatch.h" +#include "wx/evtloop.h" #include "wx/cppunit.h" // Custom test macro that is only defined when wxUIActionSimulator is available @@ -93,6 +95,25 @@ public: #define WX_ASSERT_FAILS_WITH_ASSERT(cond) #endif +#define WX_ASSERT_EVENT_OCCURS(eventcounter, count) \ +{\ + wxStopWatch sw; \ + wxEventLoopBase* loop = wxEventLoopBase::GetActive(); \ + while(eventcounter.GetCount() < count) \ + { \ + if(sw.Time() < 100) \ + loop->Dispatch(); \ + else \ + { \ + CPPUNIT_FAIL(wxString::Format("timeout reached with %d " \ + "events received, %d expected", \ + eventcounter.GetCount(), count).ToStdString()); \ + break; \ + } \ + } \ + eventcounter.Clear(); \ +} + // these functions can be used to hook into wxApp event processing and are // currently used by the events propagation test class WXDLLIMPEXP_FWD_BASE wxEvent; @@ -105,6 +126,8 @@ extern void SetProcessEventFunc(ProcessEventFunc func); extern bool IsNetworkAvailable(); +extern bool IsAutomaticTest(); + // Helper class setting the locale to the given one for its lifetime. class LocaleSetter {