diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-19 17:16:52 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-04-29 16:22:24 +0000 |
commit | 948d0357850918596b56f38a6dc6e25cd186f5a0 (patch) | |
tree | 2a522442757660b6eadecd3a6decde1f34ab5740 /tests/auto/render/qgeometry | |
parent | ae5ac1128bc61176f797f6e248d18b9ced051ad9 (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.cpp | 42 |
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) |