summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2011-05-04 06:53:16 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2011-05-05 00:43:45 (GMT)
commit5953d930bc07fa6734a11d053d26a3f80e9c1e89 (patch)
treed021f2f7a5db7ae42cb49b6348e16e7daec808e7
parentcb126ff7ad08e9801e2911511aa9aeb728faa8f3 (diff)
downloadQt-5953d930bc07fa6734a11d053d26a3f80e9c1e89.zip
Qt-5953d930bc07fa6734a11d053d26a3f80e9c1e89.tar.gz
Qt-5953d930bc07fa6734a11d053d26a3f80e9c1e89.tar.bz2
Remove Q_ASSERT in gestures autotest
Rather than aborting on a bad gesture event in debug builds and ignoring the error in release builds, record a count of bad events and fail the test if the count is non-zero at the end of the test function. Change-Id: I6ddd46a5a656185c13eae4bbbb496b986a0c92f6 Task-number: QTBUG-17582 Reviewed-by: Rohan McGovern
-rw-r--r--tests/auto/gestures/tst_gestures.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index bff8a04..d580c8b 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -1518,17 +1518,20 @@ void tst_Gestures::autoCancelGestures()
{
class MockWidget : public GestureWidget {
public:
- MockWidget(const char *name) : GestureWidget(name) { }
+ MockWidget(const char *name) : GestureWidget(name), badGestureEvents(0) { }
bool event(QEvent *event)
{
if (event->type() == QEvent::Gesture) {
QGestureEvent *ge = static_cast<QGestureEvent*>(event);
- Q_ASSERT(ge->gestures().count() == 1); // can't use QCOMPARE here...
+ if (ge->gestures().count() != 1)
+ ++badGestureEvents; // event should contain exactly one gesture
ge->gestures().first()->setGestureCancelPolicy(QGesture::CancelAllInContext);
}
return GestureWidget::event(event);
}
+
+ int badGestureEvents;
};
const Qt::GestureType secondGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
@@ -1563,22 +1566,26 @@ void tst_Gestures::autoCancelGestures()
event.serial = CustomGesture::SerialFinishedThreshold;
QApplication::sendEvent(child, &event);
QCOMPARE(parent.events.all.count(), 2);
+ QCOMPARE(parent.badGestureEvents, 0);
}
void tst_Gestures::autoCancelGestures2()
{
class MockItem : public GestureItem {
public:
- MockItem(const char *name) : GestureItem(name) { }
+ MockItem(const char *name) : GestureItem(name), badGestureEvents(0) { }
bool event(QEvent *event) {
if (event->type() == QEvent::Gesture) {
QGestureEvent *ge = static_cast<QGestureEvent*>(event);
- Q_ASSERT(ge->gestures().count() == 1); // can't use QCOMPARE here...
+ if (ge->gestures().count() != 1)
+ ++badGestureEvents; // event should contain exactly one gesture
ge->gestures().first()->setGestureCancelPolicy(QGesture::CancelAllInContext);
}
return GestureItem::event(event);
}
+
+ int badGestureEvents;
};
const Qt::GestureType secondGesture = QGestureRecognizer ::registerRecognizer(new CustomGestureRecognizer);
@@ -1614,6 +1621,7 @@ void tst_Gestures::autoCancelGestures2()
event.serial = CustomGesture::SerialFinishedThreshold;
scene.sendEvent(child, &event);
QCOMPARE(parent->events.all.count(), 2);
+ QCOMPARE(parent->badGestureEvents, 0);
}
void tst_Gestures::graphicsViewParentPropagation()