summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/entity/tst_entity.cpp47
-rw-r--r--tests/auto/render/scene2d/tst_scene2d.cpp2
2 files changed, 37 insertions, 12 deletions
diff --git a/tests/auto/render/entity/tst_entity.cpp b/tests/auto/render/entity/tst_entity.cpp
index e3b8e756e..2eeca2b39 100644
--- a/tests/auto/render/entity/tst_entity.cpp
+++ b/tests/auto/render/entity/tst_entity.cpp
@@ -123,11 +123,13 @@ private slots:
TestRenderer renderer;
NodeManagers nodeManagers;
Qt3DRender::Render::Entity entity;
- Qt3DCore::QEntity dummyFrontendEntity;
entity.setRenderer(&renderer);
entity.setNodeManagers(&nodeManagers);
// THEN
+ QCOMPARE(renderer.dirtyBits(), 0);
+
+ // THEN
QVERIFY(entity.componentUuid<Transform>().isNull());
QVERIFY(entity.componentUuid<CameraLens>().isNull());
QVERIFY(entity.componentUuid<Material>().isNull());
@@ -141,20 +143,16 @@ private slots:
QVERIFY(!entity.isBoundingVolumeDirty());
QVERIFY(entity.childrenHandles().isEmpty());
QVERIFY(entity.layerIds().isEmpty());
+ QCOMPARE(entity.renderer(), &renderer);
+
+ QCOMPARE(renderer.dirtyBits(), 0);
// WHEN
for (QComponent *component : components)
EntityPrivate::get(&entity)->componentAdded(component);
- Qt3DCore::QEntity dummyFrontendEntityChild;
- // Create nodes in the backend manager
- nodeManagers.renderNodesManager()->getOrCreateResource(dummyFrontendEntity.id());
- nodeManagers.renderNodesManager()->getOrCreateResource(dummyFrontendEntityChild.id());
-
-// TODOSYNC clean up
-// // Send children added event to entity
-// const auto addEntityChange = QPropertyNodeAddedChangePtr::create(dummyFrontendEntity.id(), &dummyFrontendEntityChild);
-// entity.sceneChangeEvent(addEntityChange);
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
// THEN
QVERIFY(!entity.componentUuid<Transform>().isNull());
@@ -170,7 +168,7 @@ private slots:
QVERIFY(entity.isBoundingVolumeDirty());
QVERIFY(entity.childrenHandles().isEmpty());
QVERIFY(!entity.layerIds().isEmpty());
- QVERIFY(renderer.dirtyBits() != 0);
+ QCOMPARE(renderer.dirtyBits(), 0);
bool containsAll = entity.containsComponentsOfType<Transform,
CameraLens, Material, GeometryRenderer, ObjectPicker, ComputeCommand, Armature>();
QVERIFY(containsAll);
@@ -195,6 +193,9 @@ private slots:
containsAll = entity.containsComponentsOfType<Transform,
CameraLens, Material, GeometryRenderer, ObjectPicker, ComputeCommand, Armature>();
QVERIFY(!containsAll);
+
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
}
void checkEntityReparenting()
@@ -217,6 +218,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN
auto sendParentChange = [&nodeManagers](const Qt3DCore::QEntity &entity) {
Entity *backendEntity = nodeManagers.renderNodesManager()->getOrCreateResource(entity.id());
@@ -238,6 +242,9 @@ private slots:
QCOMPARE(backendB->childrenHandles().count(), 1);
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN - reparent C to A
frontendEntityC.setParent(&frontendEntityA);
sendParentChange(frontendEntityC);
@@ -251,6 +258,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN - reparent B to null.
frontendEntityB.setParent(static_cast<Qt3DCore::QNode *>(nullptr));
sendParentChange(frontendEntityB);
@@ -264,6 +274,9 @@ private slots:
QVERIFY(!backendA->childrenHandles().contains(backendB->handle()));
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
}
void checkEntityCleanup()
@@ -298,6 +311,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN - cleaning up a child
backendC->cleanup();
@@ -312,6 +328,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN (cleaning up parent)
backendA->cleanup();
@@ -324,6 +343,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN
backendB->cleanup();
@@ -335,6 +357,9 @@ private slots:
QVERIFY(backendA->parent() == nullptr);
QVERIFY(backendB->parent() == nullptr);
QVERIFY(backendC->parent() == nullptr);
+
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
}
void shouldHandleSingleComponentEvents_data()
diff --git a/tests/auto/render/scene2d/tst_scene2d.cpp b/tests/auto/render/scene2d/tst_scene2d.cpp
index fcb4c0908..ecade18fc 100644
--- a/tests/auto/render/scene2d/tst_scene2d.cpp
+++ b/tests/auto/render/scene2d/tst_scene2d.cpp
@@ -209,6 +209,7 @@ private Q_SLOTS:
QScopedPointer<TestWindow> testWindow(new TestWindow());
Scene2DSharedObjectPtr sharedObject(new Scene2DSharedObject(nullptr));
+ TestRenderer renderer;
QScopedPointer<Scene2D> scene2d(new Scene2D());
QScopedPointer<NodeManagers> nodeManagers(new NodeManagers());
Qt3DRender::QGeometry *geometry = new Qt3DRender::QGeometry();
@@ -218,7 +219,6 @@ private Q_SLOTS:
Qt3DRender::QBuffer *dataBuffer =new Qt3DRender::QBuffer();
QScopedPointer<Qt3DCore::QEntity> entity(new Qt3DCore::QEntity());
entity->addComponent(geometryRenderer);
- TestRenderer renderer;
renderer.setNodeManagers(nodeManagers.data());
scene2d->setRenderer(&renderer);
scene2d->setEnabled(true);