diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-08-11 11:11:43 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-08-23 06:28:58 +0000 |
commit | 0f2dbaf025513ce906fc08b5153dea15142ff35a (patch) | |
tree | 54b1817cc7550afaac39479c2540fda5702c727a /tests | |
parent | e8bdcd57657e427bdc9a7bfef58033015b0b299f (diff) |
Scene: add a setStatus method
Will allow to set the status in the backend and update the frontend with it.
Change-Id: Iac47e9960b8ef56c4e45ea31c616c4bc2a8f3444
Task-number: QTBUG-54889
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/sceneloader/tst_sceneloader.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/render/sceneloader/tst_sceneloader.cpp b/tests/auto/render/sceneloader/tst_sceneloader.cpp index 7d31590d9..05f4f08b6 100644 --- a/tests/auto/render/sceneloader/tst_sceneloader.cpp +++ b/tests/auto/render/sceneloader/tst_sceneloader.cpp @@ -149,6 +149,28 @@ private Q_SLOTS: arbiter.events.clear(); } + + void checkStatusTransmission() + { + // GIVEN + TestRenderer renderer; + TestArbiter arbiter; + Qt3DRender::Render::Scene sceneLoader; + + Qt3DCore::QBackendNodePrivate::get(&sceneLoader)->setArbiter(&arbiter); + sceneLoader.setRenderer(&renderer); + + // WHEN + sceneLoader.setStatus(Qt3DRender::QSceneLoader::Ready); + + // THEN + Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>(); + QCOMPARE(arbiter.events.count(), 1); + QCOMPARE(change->propertyName(), "status"); + QCOMPARE(change->value().value<Qt3DRender::QSceneLoader::Status>(), Qt3DRender::QSceneLoader::Ready); + + arbiter.events.clear(); + } }; // Note: setSceneSubtree needs a QCoreApplication |