summaryrefslogtreecommitdiffstats
path: root/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp')
-rw-r--r--tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp161
1 files changed, 37 insertions, 124 deletions
diff --git a/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp b/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
index 8cfbc0d23..1c2d30b49 100644
--- a/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
+++ b/tests/auto/render/qgeometryrenderer/tst_qgeometryrenderer.cpp
@@ -33,7 +33,6 @@ QT_WARNING_DISABLE_DEPRECATED
#include <QtTest/QTest>
#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DCore/private/qscene_p.h>
-#include <Qt3DCore/private/qnodecreatedchangegenerator_p.h>
#include <Qt3DRender/qgeometryrenderer.h>
#include <Qt3DRender/qgeometryfactory.h>
@@ -42,7 +41,7 @@ QT_WARNING_DISABLE_DEPRECATED
#include <Qt3DRender/qbuffer.h>
#include <Qt3DRender/private/qgeometryrenderer_p.h>
-#include "testpostmanarbiter.h"
+#include "testarbiter.h"
class TestFactory : public Qt3DRender::QGeometryFactory
{
@@ -76,80 +75,6 @@ class tst_QGeometryRenderer: public QObject
private Q_SLOTS:
- void checkCloning_data()
- {
- QTest::addColumn<Qt3DRender::QGeometryRenderer *>("geometryRenderer");
-
- Qt3DRender::QGeometryRenderer *defaultConstructed = new Qt3DRender::QGeometryRenderer();
- QTest::newRow("defaultConstructed") << defaultConstructed ;
-
- Qt3DRender::QGeometryRenderer *geometry1 = new Qt3DRender::QGeometryRenderer();
- geometry1->setGeometry(new Qt3DRender::QGeometry());
- geometry1->setInstanceCount(1);
- geometry1->setIndexOffset(0);
- geometry1->setFirstInstance(55);
- geometry1->setIndexBufferByteOffset(48);
- geometry1->setRestartIndexValue(-1);
- geometry1->setPrimitiveRestartEnabled(false);
- geometry1->setPrimitiveType(Qt3DRender::QGeometryRenderer::Triangles);
- geometry1->setVertexCount(15);
- geometry1->setVerticesPerPatch(2);
- geometry1->setGeometryFactory(Qt3DRender::QGeometryFactoryPtr(new TestFactory(383)));
- QTest::newRow("triangle") << geometry1;
-
- Qt3DRender::QGeometryRenderer *geometry2 = new Qt3DRender::QGeometryRenderer();
- geometry2->setGeometry(new Qt3DRender::QGeometry());
- geometry2->setInstanceCount(200);
- geometry2->setIndexOffset(58);
- geometry2->setFirstInstance(10);
- geometry2->setIndexBufferByteOffset(96);
- geometry2->setRestartIndexValue(65535);
- geometry2->setVertexCount(2056);
- geometry2->setPrimitiveRestartEnabled(true);
- geometry2->setVerticesPerPatch(3);
- geometry2->setPrimitiveType(Qt3DRender::QGeometryRenderer::Lines);
- geometry2->setGeometryFactory(Qt3DRender::QGeometryFactoryPtr(new TestFactory(305)));
- QTest::newRow("lines with restart") << geometry2;
- }
-
- void checkCloning()
- {
- // GIVEN
- QFETCH(Qt3DRender::QGeometryRenderer *, geometryRenderer);
-
- // WHEN
- Qt3DCore::QNodeCreatedChangeGenerator creationChangeGenerator(geometryRenderer);
- QVector<Qt3DCore::QNodeCreatedChangeBasePtr> creationChanges = creationChangeGenerator.creationChanges();
-
- // THEN
- QCOMPARE(creationChanges.size(), 1 + (geometryRenderer->geometry() ? 1 : 0));
-
- const Qt3DCore::QNodeCreatedChangePtr<Qt3DRender::QGeometryRendererData> creationChangeData =
- qSharedPointerCast<Qt3DCore::QNodeCreatedChange<Qt3DRender::QGeometryRendererData>>(creationChanges.first());
- const Qt3DRender::QGeometryRendererData &cloneData = creationChangeData->data;
-
- QCOMPARE(geometryRenderer->id(), creationChangeData->subjectId());
- QCOMPARE(geometryRenderer->isEnabled(), creationChangeData->isNodeEnabled());
- QCOMPARE(geometryRenderer->metaObject(), creationChangeData->metaObject());
-
- QCOMPARE(cloneData.instanceCount, geometryRenderer->instanceCount());
- QCOMPARE(cloneData.vertexCount, geometryRenderer->vertexCount());
- QCOMPARE(cloneData.indexOffset, geometryRenderer->indexOffset());
- QCOMPARE(cloneData.firstInstance, geometryRenderer->firstInstance());
- QCOMPARE(cloneData.indexBufferByteOffset, geometryRenderer->indexBufferByteOffset());
- QCOMPARE(cloneData.restartIndexValue, geometryRenderer->restartIndexValue());
- QCOMPARE(cloneData.primitiveRestart, geometryRenderer->primitiveRestartEnabled());
- QCOMPARE(cloneData.primitiveType, geometryRenderer->primitiveType());
- QCOMPARE(cloneData.verticesPerPatch, geometryRenderer->verticesPerPatch());
-
- if (geometryRenderer->geometry() != nullptr)
- QCOMPARE(cloneData.geometryId, geometryRenderer->geometry()->id());
-
- QCOMPARE(cloneData.geometryFactory, geometryRenderer->geometryFactory());
- if (geometryRenderer->geometryFactory())
- QVERIFY(*cloneData.geometryFactory == *geometryRenderer->geometryFactory());
- }
-
void checkPropertyUpdates()
{
// GIVEN
@@ -162,99 +87,90 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setVertexCount(1340);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setIndexOffset(883);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setFirstInstance(1200);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setIndexBufferByteOffset(91);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setRestartIndexValue(65535);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setVerticesPerPatch(2);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setPrimitiveRestartEnabled(true);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
geometryRenderer->setPrimitiveType(Qt3DRender::QGeometryRenderer::Patches);
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
Qt3DRender::QGeometryFactoryPtr factory(new TestFactory(555));
@@ -262,11 +178,10 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
Qt3DRender::QGeometry geom;
@@ -274,11 +189,10 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
// WHEN
Qt3DRender::QGeometry geom2;
@@ -286,11 +200,10 @@ private Q_SLOTS:
QCoreApplication::processEvents();
// THEN
- QCOMPARE(arbiter.events.size(), 0);
- QCOMPARE(arbiter.dirtyNodes.size(), 1);
- QCOMPARE(arbiter.dirtyNodes.front(), geometryRenderer.data());
+ QCOMPARE(arbiter.dirtyNodes().size(), 1);
+ QCOMPARE(arbiter.dirtyNodes().front(), geometryRenderer.data());
- arbiter.dirtyNodes.clear();
+ arbiter.clear();
}
void checkGeometryBookkeeping()