diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-10-16 16:41:21 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-10-24 14:05:23 +0000 |
commit | 55f3c9d03d6005c86dcc6539fcc8b3635c5806bf (patch) | |
tree | 973e52eb965ec7fa2e192255eb16b452196d7bdd /tests/auto/render/objectpicker | |
parent | db592b118fd1849b7353b5b286534d0a4c476061 (diff) |
ObjectPicker: unit tests updated
Change-Id: Ib81149304807131dc9bec0925546a968233bf016
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/render/objectpicker')
-rw-r--r-- | tests/auto/render/objectpicker/tst_objectpicker.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/auto/render/objectpicker/tst_objectpicker.cpp b/tests/auto/render/objectpicker/tst_objectpicker.cpp index 94747138b..08c726c41 100644 --- a/tests/auto/render/objectpicker/tst_objectpicker.cpp +++ b/tests/auto/render/objectpicker/tst_objectpicker.cpp @@ -38,7 +38,9 @@ #include <Qt3DRender/private/objectpicker_p.h> #include <Qt3DRender/qobjectpicker.h> #include <Qt3DRender/qattribute.h> +#include <Qt3DCore/private/qbackendnode_p.h> #include <Qt3DCore/qscenepropertychange.h> +#include "testpostmanarbiter.h" class tst_ObjectPicker : public QObject { @@ -126,6 +128,65 @@ private Q_SLOTS: objectPicker.unsetDirty(); QVERIFY(!objectPicker.isDirty()); } + + void checkBackendPropertyNotifications() + { + // GIVEN + TestArbiter arbiter; + Qt3DRender::Render::ObjectPicker objectPicker; + Qt3DCore::QBackendNodePrivate::get(&objectPicker)->setArbiter(&arbiter); + QVERIFY(!objectPicker.isDirty()); + + // WHEN + objectPicker.onPressed(); + + // THEN + QCOMPARE(arbiter.events.count(), 1); + Qt3DCore::QScenePropertyChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + QCOMPARE(change->propertyName(), "pressed"); + + arbiter.events.clear(); + + // WHEN + objectPicker.onReleased(); + + // THEN + QCOMPARE(arbiter.events.count(), 1); + change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + QCOMPARE(change->propertyName(), "released"); + + arbiter.events.clear(); + + // WHEN + objectPicker.onClicked(); + + // THEN + QCOMPARE(arbiter.events.count(), 1); + change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + QCOMPARE(change->propertyName(), "clicked"); + + arbiter.events.clear(); + + // WHEN + objectPicker.onEntered(); + + // THEN + QCOMPARE(arbiter.events.count(), 1); + change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + QCOMPARE(change->propertyName(), "entered"); + + arbiter.events.clear(); + + // WHEN + objectPicker.onExited(); + + // THEN + QCOMPARE(arbiter.events.count(), 1); + change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); + QCOMPARE(change->propertyName(), "exited"); + + arbiter.events.clear(); + } }; |