diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-30 16:10:19 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-02 06:34:02 +0000 |
commit | ed6d778b20d0cdf2968e8d68085d33791ac33c49 (patch) | |
tree | d97e5a36316371b199dca3774cae50ba4348172e | |
parent | 77b04a10874870b6b41e7b788636b492f3da9075 (diff) |
Remove QbackendNode::setPeer(QNode *)
...and fix up unit tests by using the QbackendNodeTester to simulate
the initialization performed by QAbstractAspectPrivate.
Change-Id: I61207f9f1631494f926552bef8eba33cc2a45850
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
24 files changed, 51 insertions, 41 deletions
diff --git a/src/core/nodes/qbackendnode.cpp b/src/core/nodes/qbackendnode.cpp index 827522498..b9d65a15c 100644 --- a/src/core/nodes/qbackendnode.cpp +++ b/src/core/nodes/qbackendnode.cpp @@ -160,20 +160,6 @@ QBackendNode::~QBackendNode() } /*! - * Sets the \a peer. - */ -void QBackendNode::setPeer(QNode *peer) -{ - Q_D(QBackendNode); - QNodeId peerId; - if (peer != nullptr) - peerId = peer->id(); - d->m_peerId = peerId; - d->m_enabled = peer->isEnabled(); - updateFromPeer(peer); -} - -/*! * Sets the peer \a id. */ void QBackendNode::setPeerId(QNodeId id) Q_DECL_NOEXCEPT diff --git a/src/core/nodes/qbackendnode.h b/src/core/nodes/qbackendnode.h index 01159e91a..bcbd06e11 100644 --- a/src/core/nodes/qbackendnode.h +++ b/src/core/nodes/qbackendnode.h @@ -79,7 +79,6 @@ public: explicit QBackendNode(Mode mode = ReadOnly); virtual ~QBackendNode(); - void setPeer(QNode *peer); QNodeId peerId() const Q_DECL_NOEXCEPT; void setEnabled(bool enabled) Q_DECL_NOEXCEPT; diff --git a/src/render/geometry/buffermanager_p.h b/src/render/geometry/buffermanager_p.h index 4851a1ff4..bfa0ac6bc 100644 --- a/src/render/geometry/buffermanager_p.h +++ b/src/render/geometry/buffermanager_p.h @@ -60,7 +60,7 @@ namespace Qt3DRender { namespace Render { -class BufferManager : public Qt3DCore::QResourceManager< +class Q_AUTOTEST_EXPORT BufferManager : public Qt3DCore::QResourceManager< Buffer, Qt3DCore::QNodeId, 16, diff --git a/src/render/geometry/geometryrenderermanager_p.h b/src/render/geometry/geometryrenderermanager_p.h index 76c2c605f..4dea63862 100644 --- a/src/render/geometry/geometryrenderermanager_p.h +++ b/src/render/geometry/geometryrenderermanager_p.h @@ -60,7 +60,7 @@ namespace Qt3DRender { namespace Render { -class GeometryRendererManager : public Qt3DCore::QResourceManager< +class Q_AUTOTEST_EXPORT GeometryRendererManager : public Qt3DCore::QResourceManager< GeometryRenderer, Qt3DCore::QNodeId, 16, diff --git a/tests/auto/input/action/action.pro b/tests/auto/input/action/action.pro index 2861e5d13..826ec5fea 100644 --- a/tests/auto/input/action/action.pro +++ b/tests/auto/input/action/action.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_action.cpp +include(../../core/common/common.pri) include(../../render/commons/commons.pri) diff --git a/tests/auto/input/action/tst_action.cpp b/tests/auto/input/action/tst_action.cpp index af76ec526..a8efaaf3d 100644 --- a/tests/auto/input/action/tst_action.cpp +++ b/tests/auto/input/action/tst_action.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/qnodepropertychange.h> @@ -47,7 +48,7 @@ public: {} }; -class tst_Action: public QObject +class tst_Action : public Qt3DCore::QBackendNodeTester { Q_OBJECT @@ -63,7 +64,7 @@ private Q_SLOTS: action.addInput(&actionInput); // WHEN - backendAction.setPeer(&action); + simulateInitialization(&action, &backendAction); // THEN QCOMPARE(backendAction.peerId(), action.id()); diff --git a/tests/auto/input/axis/axis.pro b/tests/auto/input/axis/axis.pro index 9e9e95c9b..6f1345eae 100644 --- a/tests/auto/input/axis/axis.pro +++ b/tests/auto/input/axis/axis.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_axis.cpp +include(../../core/common/common.pri) include(../../render/commons/commons.pri) diff --git a/tests/auto/input/axis/tst_axis.cpp b/tests/auto/input/axis/tst_axis.cpp index ea608e605..ad0542f10 100644 --- a/tests/auto/input/axis/tst_axis.cpp +++ b/tests/auto/input/axis/tst_axis.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/qnodepropertychange.h> @@ -47,7 +48,7 @@ public: {} }; -class tst_Axis: public QObject +class tst_Axis: public Qt3DCore::QBackendNodeTester { Q_OBJECT @@ -63,7 +64,7 @@ private Q_SLOTS: axis.addInput(&axisInput); // WHEN - backendAxis.setPeer(&axis); + simulateInitialization(&axis, &backendAxis); // THEN QCOMPARE(backendAxis.peerId(), axis.id()); diff --git a/tests/auto/input/axisinput/axisinput.pro b/tests/auto/input/axisinput/axisinput.pro index 8378c1608..f90cf9c1e 100644 --- a/tests/auto/input/axisinput/axisinput.pro +++ b/tests/auto/input/axisinput/axisinput.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_axisinput.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/input/axisinput/tst_axisinput.cpp b/tests/auto/input/axisinput/tst_axisinput.cpp index 56ed840fe..87409846a 100644 --- a/tests/auto/input/axisinput/tst_axisinput.cpp +++ b/tests/auto/input/axisinput/tst_axisinput.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/qnodepropertychange.h> @@ -47,7 +48,7 @@ void compareKeys(const QVector<int> &backendKeys, const QVariantList &frontendKe } -class tst_AxisInput: public QObject +class tst_AxisInput : public Qt3DCore::QBackendNodeTester { Q_OBJECT @@ -66,7 +67,7 @@ private Q_SLOTS: axisInput.setSourceDevice(&sourceDevice); // WHEN - backendAxisInput.setPeer(&axisInput); + simulateInitialization(&axisInput, &backendAxisInput); // THEN QCOMPARE(backendAxisInput.peerId(), axisInput.id()); diff --git a/tests/auto/render/attribute/attribute.pro b/tests/auto/render/attribute/attribute.pro index 259053efa..f92871bbc 100644 --- a/tests/auto/render/attribute/attribute.pro +++ b/tests/auto/render/attribute/attribute.pro @@ -9,4 +9,5 @@ CONFIG += testcase SOURCES += \ tst_attribute.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/attribute/tst_attribute.cpp b/tests/auto/render/attribute/tst_attribute.cpp index f13fe8bc5..9e3c3228c 100644 --- a/tests/auto/render/attribute/tst_attribute.cpp +++ b/tests/auto/render/attribute/tst_attribute.cpp @@ -27,12 +27,13 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/attribute_p.h> #include <Qt3DRender/qbuffer.h> #include <Qt3DCore/qnodepropertychange.h> #include "testrenderer.h" -class tst_Attribute : public QObject +class tst_Attribute : public Qt3DCore::QBackendNodeTester { Q_OBJECT private Q_SLOTS: @@ -58,7 +59,7 @@ private Q_SLOTS: attribute.setBuffer(&buffer); // WHEN - renderAttribute.setPeer(&attribute); + simulateInitialization(&attribute, &renderAttribute); // THEN QCOMPARE(renderAttribute.peerId(), attribute.id()); diff --git a/tests/auto/render/buffer/buffer.pro b/tests/auto/render/buffer/buffer.pro index 73c13dd42..509c29c8c 100644 --- a/tests/auto/render/buffer/buffer.pro +++ b/tests/auto/render/buffer/buffer.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_buffer.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/buffer/tst_buffer.cpp b/tests/auto/render/buffer/tst_buffer.cpp index 7a3910f5d..3b6a3d434 100644 --- a/tests/auto/render/buffer/tst_buffer.cpp +++ b/tests/auto/render/buffer/tst_buffer.cpp @@ -27,7 +27,9 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/buffer_p.h> +#include <Qt3DRender/private/buffermanager_p.h> #include <Qt3DCore/qnodepropertychange.h> #include <Qt3DCore/private/qbackendnode_p.h> #include "testpostmanarbiter.h" @@ -59,7 +61,7 @@ private: int m_size; }; -class tst_RenderBuffer : public QObject +class tst_RenderBuffer : public Qt3DCore::QBackendNodeTester { Q_OBJECT private Q_SLOTS: @@ -69,12 +71,14 @@ private Q_SLOTS: // GIVEN Qt3DRender::Render::Buffer renderBuffer; Qt3DRender::QBuffer buffer(Qt3DRender::QBuffer::IndexBuffer); + Qt3DRender::Render::BufferManager bufferManager; buffer.setUsage(Qt3DRender::QBuffer::DynamicCopy); buffer.setData(QByteArrayLiteral("Corvette")); buffer.setDataGenerator(Qt3DRender::QBufferDataGeneratorPtr(new TestFunctor(883))); // WHEN - renderBuffer.setPeer(&buffer); + renderBuffer.setManager(&bufferManager); + simulateInitialization(&buffer, &renderBuffer); // THEN QCOMPARE(renderBuffer.peerId(), buffer.id()); diff --git a/tests/auto/render/geometry/geometry.pro b/tests/auto/render/geometry/geometry.pro index be2c16cb8..575a41e66 100644 --- a/tests/auto/render/geometry/geometry.pro +++ b/tests/auto/render/geometry/geometry.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_geometry.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/geometry/tst_geometry.cpp b/tests/auto/render/geometry/tst_geometry.cpp index 220f7203b..004fb8590 100644 --- a/tests/auto/render/geometry/tst_geometry.cpp +++ b/tests/auto/render/geometry/tst_geometry.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/geometry_p.h> #include <Qt3DRender/qgeometry.h> #include <Qt3DRender/qattribute.h> @@ -44,8 +45,7 @@ public: {} }; - -class tst_RenderGeometry : public QObject +class tst_RenderGeometry : public Qt3DCore::QBackendNodeTester { Q_OBJECT private Q_SLOTS: @@ -68,7 +68,7 @@ private Q_SLOTS: geometry.setBoundingVolumePositionAttribute(&attr1); // WHEN - renderGeometry.setPeer(&geometry); + simulateInitialization(&geometry, &renderGeometry); // THEN QCOMPARE(renderGeometry.peerId(), geometry.id()); diff --git a/tests/auto/render/geometryrenderer/geometryrenderer.pro b/tests/auto/render/geometryrenderer/geometryrenderer.pro index 424cb303a..c75501f4e 100644 --- a/tests/auto/render/geometryrenderer/geometryrenderer.pro +++ b/tests/auto/render/geometryrenderer/geometryrenderer.pro @@ -8,5 +8,6 @@ CONFIG += testcase SOURCES += tst_geometryrenderer.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp index ba49946f8..cd2c7de76 100644 --- a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp +++ b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp @@ -27,7 +27,9 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/geometryrenderer_p.h> +#include <Qt3DRender/private/geometryrenderermanager_p.h> #include <Qt3DRender/qgeometry.h> #include <Qt3DRender/qgeometryfactory.h> #include <Qt3DCore/qnodepropertychange.h> @@ -70,8 +72,7 @@ public: {} }; - -class tst_RenderGeometryRenderer : public QObject +class tst_RenderGeometryRenderer : public Qt3DCore::QBackendNodeTester { Q_OBJECT private Q_SLOTS: @@ -83,6 +84,7 @@ private Q_SLOTS: Qt3DRender::QGeometryRenderer geometryRenderer; Qt3DRender::QGeometry geometry; Qt3DRender::QGeometryFactoryPtr factory(new TestFactory(1200)); + Qt3DRender::Render::GeometryRendererManager geometryRendererManager; geometryRenderer.setInstanceCount(1584); geometryRenderer.setVertexCount(1609); @@ -96,7 +98,8 @@ private Q_SLOTS: geometryRenderer.setEnabled(false); // WHEN - renderGeometryRenderer.setPeer(&geometryRenderer); + renderGeometryRenderer.setManager(&geometryRendererManager); + simulateInitialization(&geometryRenderer, &renderGeometryRenderer); // THEN QCOMPARE(renderGeometryRenderer.peerId(), geometryRenderer.id()); diff --git a/tests/auto/render/material/material.pro b/tests/auto/render/material/material.pro index 5cd5ab339..9efe88ace 100644 --- a/tests/auto/render/material/material.pro +++ b/tests/auto/render/material/material.pro @@ -8,5 +8,6 @@ CONFIG += testcase SOURCES += tst_material.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/material/tst_material.cpp b/tests/auto/render/material/tst_material.cpp index 269379b25..4a037e76f 100644 --- a/tests/auto/render/material/tst_material.cpp +++ b/tests/auto/render/material/tst_material.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/material_p.h> #include <Qt3DRender/QMaterial> @@ -41,7 +42,7 @@ using namespace Qt3DCore; using namespace Qt3DRender; using namespace Qt3DRender::Render; -class tst_RenderMaterial : public QObject +class tst_RenderMaterial : public Qt3DCore::QBackendNodeTester { Q_OBJECT public: @@ -114,7 +115,7 @@ void tst_RenderMaterial::shouldHavePropertiesMirroringFromItsPeer() Material backend; // GIVEN - backend.setPeer(frontendMaterial); + simulateInitialization(frontendMaterial, &backend); // THEN QVERIFY(backend.isEnabled() == frontendMaterial->isEnabled()); diff --git a/tests/auto/render/objectpicker/objectpicker.pro b/tests/auto/render/objectpicker/objectpicker.pro index 237a89baa..e32ff09be 100644 --- a/tests/auto/render/objectpicker/objectpicker.pro +++ b/tests/auto/render/objectpicker/objectpicker.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_objectpicker.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/objectpicker/tst_objectpicker.cpp b/tests/auto/render/objectpicker/tst_objectpicker.cpp index ca3d42a7f..abd37fdf0 100644 --- a/tests/auto/render/objectpicker/tst_objectpicker.cpp +++ b/tests/auto/render/objectpicker/tst_objectpicker.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/objectpicker_p.h> #include <Qt3DRender/qpickevent.h> #include <Qt3DRender/qobjectpicker.h> @@ -35,7 +36,7 @@ #include "testpostmanarbiter.h" #include "testrenderer.h" -class tst_ObjectPicker : public QObject +class tst_ObjectPicker : public Qt3DCore::QBackendNodeTester { Q_OBJECT private Q_SLOTS: @@ -48,7 +49,7 @@ private Q_SLOTS: picker.setHoverEnabled(true); // WHEN - objectPicker.setPeer(&picker); + simulateInitialization(&picker, &objectPicker); // THEN QVERIFY(!objectPicker.peerId().isNull()); diff --git a/tests/auto/render/renderpass/renderpass.pro b/tests/auto/render/renderpass/renderpass.pro index 63bb920e9..00d9b6bd5 100644 --- a/tests/auto/render/renderpass/renderpass.pro +++ b/tests/auto/render/renderpass/renderpass.pro @@ -8,4 +8,5 @@ CONFIG += testcase SOURCES += tst_renderpass.cpp +include(../../core/common/common.pri) include(../commons/commons.pri) diff --git a/tests/auto/render/renderpass/tst_renderpass.cpp b/tests/auto/render/renderpass/tst_renderpass.cpp index ce369b28f..38887bb80 100644 --- a/tests/auto/render/renderpass/tst_renderpass.cpp +++ b/tests/auto/render/renderpass/tst_renderpass.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QtTest/QtTest> +#include <qbackendnodetester.h> #include <Qt3DRender/private/renderpass_p.h> #include <Qt3DCore/QNodePropertyChange> @@ -66,13 +67,14 @@ using namespace Qt3DCore; using namespace Qt3DRender; using namespace Qt3DRender::Render; -class tst_RenderRenderPass : public QObject +class tst_RenderRenderPass : public Qt3DCore::QBackendNodeTester { Q_OBJECT public: tst_RenderRenderPass() : m_renderStateManager(new RenderStateManager()) { + qRegisterMetaType<Qt3DCore::QNode *>(); } ~tst_RenderRenderPass() {} @@ -106,10 +108,10 @@ private slots: RenderPass backend; RenderStateNode *backendState = m_renderStateManager->getOrCreateResource(frontendState->id()); - backendState->setPeer(frontendState); + simulateInitialization(frontendState, backendState); // WHEN - backend.setPeer(&frontend); + simulateInitialization(&frontend, &backend); // THEN QCOMPARE(backend.shaderProgram(), frontend.shaderProgram()->id()); @@ -217,7 +219,7 @@ private slots: backend.setRenderer(&renderer); RenderStateNode *backendState = m_renderStateManager->getOrCreateResource(frontendState->id()); - backendState->setPeer(frontendState); + simulateInitialization(frontendState, backendState); // WHEN const auto addChange = Qt3DCore::QNodeAddedPropertyChangePtr::create(Qt3DCore::QNodeId(), frontendState); |