Test posted events in tst_QEventDispatcher with various flags
authorBradley T. Hughes <bradley.hughes@nokia.com>
Mon, 6 Feb 2012 15:09:18 +0000 (16:09 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 10 Feb 2012 14:22:11 +0000 (15:22 +0100)
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>
tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp

index d06912e..bc6d6bf 100644 (file)
@@ -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));
     }