summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-10-16 16:41:21 +0200
committerSean Harmer <sean.harmer@kdab.com>2015-10-24 14:05:23 +0000
commit55f3c9d03d6005c86dcc6539fcc8b3635c5806bf (patch)
tree973e52eb965ec7fa2e192255eb16b452196d7bdd /tests
parentdb592b118fd1849b7353b5b286534d0a4c476061 (diff)
ObjectPicker: unit tests updated
Change-Id: Ib81149304807131dc9bec0925546a968233bf016 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/objectpicker/tst_objectpicker.cpp61
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();
+ }
};