diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-11 13:51:35 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-11-16 10:58:52 +0100 |
commit | 55318c95d6bf72132ded283971450b4f56674997 (patch) | |
tree | ca751a92797b75b483a420a10370f206eecf97b2 /tests/auto/quickwidgets | |
parent | 10c2a8315977e8eb5fc36cf793cfc74d8913dbb0 (diff) |
Don't copy or assign QEvent instances in tests
Copying/assigning polymorphic types is a code smell, use separate
instances instead in the tests. Those should perhaps be rewritten
to use a data driven testing approach, there's a lot of code
repetition.
In the test API implementation, first evaluate the parameters for
the event, then construct the event once with the correct values.
Change-Id: I2572772698cb0204f5ff950741b9fe3805fae15d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/quickwidgets')
-rw-r--r-- | tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp index 40ef85ca3b..5d653d4b1a 100644 --- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp +++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp @@ -60,22 +60,22 @@ public: protected: void mousePressEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); QQuickWidget::mousePressEvent(event); } void mouseMoveEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); QQuickWidget::mouseMoveEvent(event); } void mouseReleaseEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); QQuickWidget::mouseReleaseEvent(event); } public: - QList<QMouseEvent> m_mouseEvents; + QList<Qt::MouseEventSource> m_mouseEvents; }; class MouseRecordingItem : public QQuickItem @@ -92,25 +92,25 @@ public: protected: void touchEvent(QTouchEvent* event) override { event->setAccepted(m_acceptTouch); - m_touchEvents << *event; + m_touchEvents << event->type(); qCDebug(lcTests) << "accepted?" << event->isAccepted() << event; } void mousePressEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); } void mouseMoveEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); } void mouseReleaseEvent(QMouseEvent *event) override { qCDebug(lcTests) << event; - m_mouseEvents << *event; + m_mouseEvents << event->source(); } public: - QList<QMouseEvent> m_mouseEvents; - QList<QTouchEvent> m_touchEvents; + QList<Qt::MouseEventSource> m_mouseEvents; + QList<QEvent::Type> m_touchEvents; private: bool m_acceptTouch; @@ -626,8 +626,8 @@ void tst_qquickwidget::synthMouseFromTouch() QCOMPARE(item->m_touchEvents.count(), !synthMouse && !acceptTouch ? 1 : 3); QCOMPARE(item->m_mouseEvents.count(), (acceptTouch || !synthMouse) ? 0 : 3); QCOMPARE(childView->m_mouseEvents.count(), 0); - for (const QMouseEvent &ev : item->m_mouseEvents) - QCOMPARE(ev.source(), Qt::MouseEventSynthesizedByQt); + for (const auto &ev : item->m_mouseEvents) + QCOMPARE(ev, Qt::MouseEventSynthesizedByQt); } void tst_qquickwidget::tabKey() |