diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-10-16 17:08:30 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-10-24 14:05:26 +0000 |
commit | 00d22187d851e0e12d699179c9cfb168b0541d73 (patch) | |
tree | 22ef01125121451198caa2a2faa6d4b57a021e14 /tests | |
parent | 55f3c9d03d6005c86dcc6539fcc8b3635c5806bf (diff) |
QObjectPicker unit tests completed
Change-Id: I4329143d1df30872c35e9b82cb2e1fc3fd676dfe
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp b/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp index 714a3e0bd..2a7ca4afc 100644 --- a/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp +++ b/tests/auto/render/qobjectpicker/tst_qobjectpicker.cpp @@ -35,11 +35,13 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <QtTest/QSignalSpy> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> - +#include <Qt3DCore/qbackendscenepropertychange.h> #include <Qt3DRender/QObjectPicker> #include <Qt3DRender/QAttribute> +#include <Qt3DRender/QPickEvent> #include "testpostmanarbiter.h" @@ -51,8 +53,14 @@ public: : Qt3DRender::QObjectPicker(parent) {} + void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) Q_DECL_FINAL + { + Qt3DRender::QObjectPicker::sceneChangeEvent(change); + } + private: friend class tst_ObjectPicker; + }; // We need to call QNode::clone which is protected @@ -64,6 +72,7 @@ public: tst_QObjectPicker() { qRegisterMetaType<Qt3DRender::QAttribute*>("Qt3DRender::QAttribute*"); + qRegisterMetaType<Qt3DRender::QPickEvent*>("Qt3DRender::QPickEvent*"); } ~tst_QObjectPicker() @@ -146,18 +155,49 @@ private Q_SLOTS: } + void checkBackendUpdates_data() + { + QTest::addColumn<QByteArray>("signalPrototype"); + QTest::addColumn<QByteArray>("propertyName"); + + QTest::newRow("clicked") + << QByteArray(SIGNAL(clicked(QPickEvent *))) + << QByteArrayLiteral("clicked"); + + QTest::newRow("pressed") + << QByteArray(SIGNAL(pressed(QPickEvent *))) + << QByteArrayLiteral("pressed"); + + QTest::newRow("released") + << QByteArray(SIGNAL(released(QPickEvent *))) + << QByteArrayLiteral("released"); + + QTest::newRow("entered") + << QByteArray(SIGNAL(entered())) + << QByteArrayLiteral("entered"); + + QTest::newRow("exited") + << QByteArray(SIGNAL(exited())) + << QByteArrayLiteral("exited"); + } + void checkBackendUpdates() { // GIVEN - //QScopedPointer<MyObjectPicker> objectPicker(new MyObjectPicker()); + QFETCH(QByteArray, signalPrototype); + QFETCH(QByteArray, propertyName); + QScopedPointer<MyObjectPicker> objectPicker(new MyObjectPicker()); + QSignalSpy spy(objectPicker.data(), signalPrototype.constData()); - // TO DO: Complete // WHEN // Create Backend Change and distribute it to frontend node - // objectPicker->sceneChangeEvent(); + Qt3DCore::QBackendScenePropertyChangePtr e(new Qt3DCore::QBackendScenePropertyChange(Qt3DCore::NodeUpdated, objectPicker->id())); + e->setPropertyName(propertyName.constData()); + objectPicker->sceneChangeEvent(e); // THEN - // Check that the QOjectPicker triggers the expected signal + // Check that the QObjectPicker triggers the expected signal + QCOMPARE(spy.count(), 1); } |