Run tst_QEventDispatcher with the GUI event dispatchers as well
Since some GUI event dispatchers are complete reimplementations and do not build on the corelib ones, we want to run the same tests with the other dispatcher. Since this is a GUI test now, we need to make sure to drain system events queued during application startup to make sure we can reliably run the test functions. Change-Id: I4905db70bc8f8584c4ef1f4d767824040281452c Reviewed-by: Robin Burchell <robin+qt@viroteck.net>bb10
parent
c50f026a22
commit
358c14821b
|
|
@ -39,7 +39,11 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtCore/QCoreApplication>
|
||||
#ifdef QT_GUI_LIB
|
||||
# include <QtGui/QGuiApplication>
|
||||
#else
|
||||
# include <QtCore/QCoreApplication>
|
||||
#endif
|
||||
#include <QtTest/QtTest>
|
||||
|
||||
enum {
|
||||
|
|
@ -68,6 +72,7 @@ public:
|
|||
{ }
|
||||
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void registerTimer();
|
||||
/* void registerSocketNotifier(); */ // Not implemented here, see tst_QSocketNotifier instead
|
||||
/* void registerEventNotifiier(); */ // Not implemented here, see tst_QWinEventNotifier instead
|
||||
|
|
@ -88,6 +93,16 @@ bool tst_QEventDispatcher::event(QEvent *e)
|
|||
return QObject::event(e);
|
||||
}
|
||||
|
||||
// drain the system event queue after the test starts to avoid destabilizing the test functions
|
||||
void tst_QEventDispatcher::initTestCase()
|
||||
{
|
||||
QElapsedTimer elapsedTimer;
|
||||
elapsedTimer.start();
|
||||
while (!elapsedTimer.hasExpired(CoarseTimerInterval) && eventDispatcher->processEvents(QEventLoop::AllEvents)) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
// test that the eventDispatcher's timer implementation is complete and working
|
||||
void tst_QEventDispatcher::registerTimer()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ SUBDIRS=\
|
|||
qdrag \
|
||||
qevent \
|
||||
qfileopenevent \
|
||||
qguieventdispatcher \
|
||||
qguimetatype \
|
||||
qguivariant \
|
||||
qinputmethod \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
CONFIG += testcase
|
||||
TARGET = tst_qguieventdispatcher
|
||||
QT = core gui testlib
|
||||
SOURCES += ../../../corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
|
||||
Loading…
Reference in New Issue