diff options
author | Mike Krus <mike.krus@kdab.com> | 2017-12-21 09:32:41 +0000 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2017-12-24 11:34:18 +0000 |
commit | 1d5f8b8536c1b0165c2292529dc3814e96bb0a27 (patch) | |
tree | c1ba84208e326348ef40e98e2713febfbaccb559 /tests | |
parent | 02b4a7047b711d4ee729bcd982a5b624f343dbdd (diff) |
Add test for QPickEvent private data
QPickEvent carries the id of the picked object in the private pimpl.
This was previously broken (breaking Scene2D) so adding a test to check
it doesn't get dropped in the future
Change-Id: Ic19db84877458329a2e98713805d7294fb2b7185
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp index d9d90a03d..a14bccefc 100644 --- a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp +++ b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp @@ -57,6 +57,8 @@ #include <Qt3DRender/private/buffermanager_p.h> #include <Qt3DRender/private/geometryrenderermanager_p.h> +#include <private/qpickevent_p.h> + QT_BEGIN_NAMESPACE namespace Qt3DRender { @@ -775,6 +777,7 @@ private Q_SLOTS: QCOMPARE(change->propertyName(), "pressed"); Qt3DRender::QPickEventPtr pickEvent = change->value().value<Qt3DRender::QPickEventPtr>(); QVERIFY(pickEvent); + QVERIFY(!Qt3DRender::QPickEventPrivate::get(pickEvent.data())->m_entity.isNull()); if (pickMethod == Qt3DRender::QPickingSettings::TrianglePicking) QVERIFY(pickEvent.dynamicCast<Qt3DRender::QPickTriangleEvent>()); @@ -794,6 +797,7 @@ private Q_SLOTS: QCOMPARE(change->propertyName(), "moved"); pickEvent = change->value().value<Qt3DRender::QPickEventPtr>(); QVERIFY(pickEvent); + QVERIFY(!Qt3DRender::QPickEventPrivate::get(pickEvent.data())->m_entity.isNull()); if (pickMethod == Qt3DRender::QPickingSettings::TrianglePicking) QVERIFY(pickEvent.dynamicCast<Qt3DRender::QPickTriangleEvent>()); @@ -813,12 +817,14 @@ private Q_SLOTS: QCOMPARE(change->propertyName(), "released"); pickEvent = change->value().value<Qt3DRender::QPickEventPtr>(); QVERIFY(pickEvent); + QVERIFY(!Qt3DRender::QPickEventPrivate::get(pickEvent.data())->m_entity.isNull()); if (pickMethod == Qt3DRender::QPickingSettings::TrianglePicking) QVERIFY(pickEvent.dynamicCast<Qt3DRender::QPickTriangleEvent>()); change = arbiter.events.last().staticCast<Qt3DCore::QPropertyUpdatedChange>(); QCOMPARE(change->propertyName(), "clicked"); pickEvent = change->value().value<Qt3DRender::QPickEventPtr>(); QVERIFY(pickEvent); + QVERIFY(!Qt3DRender::QPickEventPrivate::get(pickEvent.data())->m_entity.isNull()); if (pickMethod == Qt3DRender::QPickingSettings::TrianglePicking) QVERIFY(pickEvent.dynamicCast<Qt3DRender::QPickTriangleEvent>()); |