summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-02-05 10:35:45 +0000
committerMike Krus <mike.krus@kdab.com>2020-02-06 13:02:18 +0000
commitbb7b5983d599ee1c40c6658ab726efa2ac3d3f2c (patch)
treec7063144be115cfa925873651f8b3321c5d4cb3f /tests
parenta054e92ba05a32d13b91908597618b43709c5f68 (diff)
parentce4824da7739dbe51abd201c78db2e8a8e31b6e9 (diff)
Merge "Merge remote-tracking branch '5.14' into 5.15"
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/entity/tst_entity.cpp42
-rw-r--r--tests/auto/render/scene2d/tst_scene2d.cpp2
2 files changed, 37 insertions, 7 deletions
diff --git a/tests/auto/render/entity/tst_entity.cpp b/tests/auto/render/entity/tst_entity.cpp
index 2629e6953..a762330dd 100644
--- a/tests/auto/render/entity/tst_entity.cpp
+++ b/tests/auto/render/entity/tst_entity.cpp
@@ -126,11 +126,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());
@@ -144,15 +146,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());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
// THEN
QVERIFY(!entity.componentUuid<Transform>().isNull());
@@ -168,7 +171,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);
@@ -193,6 +196,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()
@@ -215,6 +221,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());
@@ -236,6 +245,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);
@@ -249,6 +261,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);
@@ -262,6 +277,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()
@@ -296,6 +314,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();
@@ -310,6 +331,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();
@@ -322,6 +346,9 @@ private slots:
QVERIFY(backendB->childrenHandles().isEmpty());
QVERIFY(backendC->childrenHandles().isEmpty());
+ QVERIFY(renderer.dirtyBits() & Qt3DRender::Render::AbstractRenderer::AllDirty);
+ renderer.resetDirty();
+
// WHEN
backendB->cleanup();
@@ -333,6 +360,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 3d943eae7..b0a7fbeb8 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);