From d9d1e72d766456512ec45e867f7a8f8be888a57c Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 4 May 2011 16:53:16 +1000 Subject: [PATCH] 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 (cherry picked from commit 5953d930bc07fa6734a11d053d26a3f80e9c1e89) --- tests/auto/gestures/tst_gestures.cpp | 16 ++++++++++++---- 1 file 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(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(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() -- 2.7.4