Test posted events in tst_QEventDispatcher with various flags
Add QEventLoop::ProcessEventsFlags test data for tst_QEventDispatcher::sendPostedEvents() to test that posted events are sent when waiting for events and when not waiting. Change-Id: I99f9eb121d0b1ded725e19c5233922fc0a6b81e4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This commit is contained in:
parent
358c14821b
commit
8f8e3db6ae
@ -76,6 +76,7 @@ private slots:
|
||||
void registerTimer();
|
||||
/* void registerSocketNotifier(); */ // Not implemented here, see tst_QSocketNotifier instead
|
||||
/* void registerEventNotifiier(); */ // Not implemented here, see tst_QWinEventNotifier instead
|
||||
void sendPostedEvents_data();
|
||||
void sendPostedEvents();
|
||||
};
|
||||
|
||||
@ -178,9 +179,20 @@ void tst_QEventDispatcher::registerTimer()
|
||||
#undef FIND_TIMERS
|
||||
}
|
||||
|
||||
void tst_QEventDispatcher::sendPostedEvents_data()
|
||||
{
|
||||
QTest::addColumn<int>("processEventsFlagsInt");
|
||||
|
||||
QTest::newRow("WaitForMoreEvents") << int(QEventLoop::WaitForMoreEvents);
|
||||
QTest::newRow("AllEvents") << int(QEventLoop::AllEvents);
|
||||
}
|
||||
|
||||
// test that the eventDispatcher sends posted events correctly
|
||||
void tst_QEventDispatcher::sendPostedEvents()
|
||||
{
|
||||
QFETCH(int, processEventsFlagsInt);
|
||||
QEventLoop::ProcessEventsFlags processEventsFlags = QEventLoop::ProcessEventsFlags(processEventsFlagsInt);
|
||||
|
||||
QElapsedTimer elapsedTimer;
|
||||
elapsedTimer.start();
|
||||
while (!elapsedTimer.hasExpired(200)) {
|
||||
@ -191,7 +203,7 @@ void tst_QEventDispatcher::sendPostedEvents()
|
||||
QCOMPARE(receivedEventType, -1);
|
||||
|
||||
// since there is a pending posted event, this should not actually block, it should send the posted event and return
|
||||
QVERIFY(eventDispatcher->processEvents(QEventLoop::WaitForMoreEvents));
|
||||
QVERIFY(eventDispatcher->processEvents(processEventsFlags));
|
||||
// event shouldn't be delivered as a result of posting
|
||||
QCOMPARE(receivedEventType, int(QEvent::User));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user