summaryrefslogtreecommitdiffstats
path: root/tests/auto/render/qgeometry
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-19 17:16:52 +0100
committerPaul Lemire <paul.lemire@kdab.com>2016-04-29 16:22:24 +0000
commit948d0357850918596b56f38a6dc6e25cd186f5a0 (patch)
tree2a522442757660b6eadecd3a6decde1f34ab5740 /tests/auto/render/qgeometry
parentae5ac1128bc61176f797f6e248d18b9ced051ad9 (diff)
Strip out cloning subsystem
Change-Id: I4def54a11de0f9c676ef6b2d7bd8e723ded25ab9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/auto/render/qgeometry')
-rw-r--r--tests/auto/render/qgeometry/tst_qgeometry.cpp42
1 files changed, 17 insertions, 25 deletions
diff --git a/tests/auto/render/qgeometry/tst_qgeometry.cpp b/tests/auto/render/qgeometry/tst_qgeometry.cpp
index 8dcc6f9df..c284e85c4 100644
--- a/tests/auto/render/qgeometry/tst_qgeometry.cpp
+++ b/tests/auto/render/qgeometry/tst_qgeometry.cpp
@@ -29,8 +29,10 @@
#include <QtTest/QTest>
#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DCore/private/qscene_p.h>
+#include <Qt3DCore/private/qnodecreatedchangegenerator_p.h>
#include <Qt3DRender/qgeometry.h>
+#include <Qt3DRender/private/qgeometry_p.h>
#include <Qt3DRender/qattribute.h>
#include <Qt3DRender/qbuffer.h>
@@ -40,9 +42,7 @@
#include "testpostmanarbiter.h"
-// We need to call QNode::clone which is protected
-// So we sublcass QNode instead of QObject
-class tst_QGeometry: public Qt3DCore::QNode
+class tst_QGeometry: public QObject
{
Q_OBJECT
@@ -80,29 +80,28 @@ private Q_SLOTS:
QFETCH(int, attributeCount);
// WHEN
- Qt3DRender::QGeometry *clone = static_cast<Qt3DRender::QGeometry *>(QNode::clone(geometry));
+ Qt3DCore::QNodeCreatedChangeGenerator creationChangeGenerator(geometry);
+ QVector<Qt3DCore::QNodeCreatedChangeBasePtr> creationChanges = creationChangeGenerator.creationChanges();
// THEN
- QVERIFY(clone != Q_NULLPTR);
+ QCOMPARE(creationChanges.size(), 1 + geometry->childNodes().size());
+
+ const Qt3DCore::QNodeCreatedChangePtr<Qt3DRender::QGeometryData> creationChangeData =
+ qSharedPointerCast<Qt3DCore::QNodeCreatedChange<Qt3DRender::QGeometryData>>(creationChanges.first());
+ const Qt3DRender::QGeometryData &cloneData = creationChangeData->data;
+
+ QCOMPARE(geometry->id(), creationChangeData->subjectId());
+ QCOMPARE(geometry->isEnabled(), creationChangeData->isNodeEnabled());
+ QCOMPARE(geometry->metaObject(), creationChangeData->metaObject());
- QCOMPARE(geometry->id(), clone->id());
QCOMPARE(attributeCount, geometry->attributes().count());
- QCOMPARE(attributeCount, clone->attributes().count());
+ QCOMPARE(attributeCount, cloneData.attributeIds.count());
if (geometry->boundingVolumePositionAttribute())
- QCOMPARE(geometry->boundingVolumePositionAttribute()->id(), clone->boundingVolumePositionAttribute()->id());
+ QCOMPARE(geometry->boundingVolumePositionAttribute()->id(), cloneData.boundingVolumePositionAttributeId);
for (int i = 0; i < attributeCount; ++i) {
Qt3DRender::QAttribute *originalAttribute = static_cast<Qt3DRender::QAttribute *>(geometry->attributes()[i]);
- Qt3DRender::QAttribute *cloneAttribute = static_cast<Qt3DRender::QAttribute *>(clone->attributes()[i]);
-
- QCOMPARE(originalAttribute->id(), cloneAttribute->id());
- QCOMPARE(originalAttribute->name(), cloneAttribute->name());
- QCOMPARE(originalAttribute->buffer(), cloneAttribute->buffer());
- QCOMPARE(originalAttribute->count(), cloneAttribute->count());
- QCOMPARE(originalAttribute->byteStride(), cloneAttribute->byteStride());
- QCOMPARE(originalAttribute->byteOffset(), cloneAttribute->byteOffset());
- QCOMPARE(originalAttribute->divisor(), cloneAttribute->divisor());
- QCOMPARE(originalAttribute->attributeType(), cloneAttribute->attributeType());
+ QCOMPARE(originalAttribute->id(), cloneData.attributeIds.at(i));
}
}
@@ -146,13 +145,6 @@ private Q_SLOTS:
arbiter.events.clear();
}
-
-protected:
- Qt3DCore::QNode *doClone() const Q_DECL_OVERRIDE
- {
- return Q_NULLPTR;
- }
-
};
QTEST_MAIN(tst_QGeometry)