diff options
Diffstat (limited to 'tests/auto/render/qraycaster/tst_qraycaster.cpp')
-rw-r--r-- | tests/auto/render/qraycaster/tst_qraycaster.cpp | 60 |
1 files changed, 26 insertions, 34 deletions
diff --git a/tests/auto/render/qraycaster/tst_qraycaster.cpp b/tests/auto/render/qraycaster/tst_qraycaster.cpp index 8ac084545..96f6d92eb 100644 --- a/tests/auto/render/qraycaster/tst_qraycaster.cpp +++ b/tests/auto/render/qraycaster/tst_qraycaster.cpp @@ -30,13 +30,11 @@ #include <QtTest/QSignalSpy> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> -#include <Qt3DCore/qpropertynodeaddedchange.h> -#include <Qt3DCore/qpropertynoderemovedchange.h> #include <Qt3DRender/QRayCaster> +#include <Qt3DRender/private/qabstractraycaster_p.h> #include <Qt3DRender/QLayer> -#include "testpostmanarbiter.h" +#include "testarbiter.h" class MyRayCaster : public Qt3DRender::QRayCaster { @@ -48,11 +46,6 @@ public: qRegisterMetaType<Qt3DRender::QAbstractRayCaster::Hits>("Hits"); } - void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) final - { - Qt3DRender::QRayCaster::sceneChangeEvent(change); - } - private: friend class tst_RayCaster; }; @@ -112,11 +105,10 @@ private Q_SLOTS: QCoreApplication::processEvents(); // THEN - QCOMPARE(arbiter.events.size(), 0); - QCOMPARE(arbiter.dirtyNodes.size(), 1); - QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data()); + QCOMPARE(arbiter.dirtyNodes().size(), 1); + QCOMPARE(arbiter.dirtyNodes().front(), rayCaster.data()); - arbiter.dirtyNodes.clear(); + arbiter.clear(); // WHEN auto layer = new Qt3DRender::QLayer(rayCaster.data()); @@ -125,12 +117,9 @@ private Q_SLOTS: QCoreApplication::processEvents(); // THEN - QCOMPARE(arbiter.events.size(), 0); - QCOMPARE(arbiter.dirtyNodes.size(), 1); - QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data()); + QCOMPARE(arbiter.dirtyNodes().size(), 1); - arbiter.dirtyNodes.clear(); - arbiter.events.clear(); + arbiter.clear(); // WHEN layer = new Qt3DRender::QLayer(rayCaster.data()); @@ -139,12 +128,9 @@ private Q_SLOTS: QCoreApplication::processEvents(); // THEN - QCOMPARE(arbiter.events.size(), 0); - QCOMPARE(arbiter.dirtyNodes.size(), 1); - QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data()); + QCOMPARE(arbiter.dirtyNodes().size(), 1); - arbiter.dirtyNodes.clear(); - arbiter.events.clear(); + arbiter.clear(); // WHEN layer = rayCaster->layers().at(0); @@ -152,12 +138,9 @@ private Q_SLOTS: QCoreApplication::processEvents(); // THEN - QCOMPARE(arbiter.events.size(), 0); - QCOMPARE(arbiter.dirtyNodes.size(), 1); - QCOMPARE(arbiter.dirtyNodes.front(), rayCaster.data()); + QCOMPARE(arbiter.dirtyNodes().size(), 1); - arbiter.dirtyNodes.clear(); - arbiter.events.clear(); + arbiter.clear(); } void checkLayerBookkeeping() @@ -194,14 +177,23 @@ private Q_SLOTS: } } - void checkBackendUpdates_data() + + void checkBackendUpdates() { - QTest::addColumn<QByteArray>("signalPrototype"); - QTest::addColumn<QByteArray>("propertyName"); + // GIVEN + QScopedPointer<MyRayCaster> rayCaster(new MyRayCaster()); + QSignalSpy spy(rayCaster.data(), SIGNAL(hitsChanged(const Hits &))); + Qt3DRender::QRayCaster::Hits hits; - QTest::newRow("hits") - << QByteArray(SIGNAL(hitsChanged(const Hits &))) - << QByteArrayLiteral("hits"); + QVERIFY(spy.isValid()); + + // WHEN + Qt3DRender::QAbstractRayCasterPrivate *d = Qt3DRender::QAbstractRayCasterPrivate::get(rayCaster.data()); + d->dispatchHits(hits); + + // THEN + // Check that the QRayCaster triggers the expected signal + QCOMPARE(spy.count(), 1); } }; |