diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-10-11 15:21:34 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2017-01-23 16:07:18 +0000 |
commit | c1c4b0ded59b9a5129eeda509bc465b0d137f78b (patch) | |
tree | ad6302b189ba56b1355519ff31de11d5847355c0 /tests/auto/render/commons | |
parent | a477a3a1c47b6016260704e7d770eae57cd48d68 (diff) |
Unit tests factor out a TestAspect class
Change-Id: I1615af896906b9e22056278a24c738ad4847b100
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Diffstat (limited to 'tests/auto/render/commons')
-rw-r--r-- | tests/auto/render/commons/commons.pri | 5 | ||||
-rw-r--r-- | tests/auto/render/commons/testaspect.cpp | 79 | ||||
-rw-r--r-- | tests/auto/render/commons/testaspect.h | 71 |
3 files changed, 155 insertions, 0 deletions
diff --git a/tests/auto/render/commons/commons.pri b/tests/auto/render/commons/commons.pri index 1364ddb32..6f4382a0b 100644 --- a/tests/auto/render/commons/commons.pri +++ b/tests/auto/render/commons/commons.pri @@ -4,6 +4,11 @@ SOURCES += \ HEADERS += \ $$PWD/testrenderer.h +useCommonTestAspect { + SOURCES += $$PWD/testaspect.cpp + SOURCES += $$PWD/testaspect.h +} + INCLUDEPATH += $$PWD QT += core-private 3dcore 3dcore-private 3drender 3drender-private diff --git a/tests/auto/render/commons/testaspect.cpp b/tests/auto/render/commons/testaspect.cpp new file mode 100644 index 000000000..ffe9fb0e6 --- /dev/null +++ b/tests/auto/render/commons/testaspect.cpp @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "testaspect.h" + +QT_BEGIN_NAMESPACE + +namespace Qt3DRender { + +TestAspect::TestAspect(Qt3DCore::QNode *root) + : Qt3DRender::QRenderAspect(Qt3DRender::QRenderAspect::Synchronous) + , m_jobManager(new Qt3DCore::QAspectJobManager()) +{ + Qt3DCore::QAbstractAspectPrivate::get(this)->m_jobManager = m_jobManager.data(); + QRenderAspect::onRegistered(); + + const Qt3DCore::QNodeCreatedChangeGenerator generator(root); + const QVector<Qt3DCore::QNodeCreatedChangeBasePtr> creationChanges = generator.creationChanges(); + + for (const Qt3DCore::QNodeCreatedChangeBasePtr change : creationChanges) + d_func()->createBackendNode(change); +} + +TestAspect::~TestAspect() +{ + QRenderAspect::onUnregistered(); +} + +Render::NodeManagers *TestAspect::nodeManagers() const +{ + return d_func()->m_renderer->nodeManagers(); +} + +void TestAspect::onRegistered() +{ + QRenderAspect::onRegistered(); +} + +void TestAspect::onUnregistered() +{ + QRenderAspect::onUnregistered(); +} + +} // Qt3DRender + +QT_END_NAMESPACE diff --git a/tests/auto/render/commons/testaspect.h b/tests/auto/render/commons/testaspect.h new file mode 100644 index 000000000..79a7e17d1 --- /dev/null +++ b/tests/auto/render/commons/testaspect.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TESTRENDERASPECT_H +#define TESTRENDERASPECT_H + +#include <Qt3DRender/qrenderaspect.h> +#include <Qt3DRender/private/qrenderaspect_p.h> +#include <Qt3DRender/private/abstractrenderer_p.h> +#include <Qt3DCore/private/qaspectjobmanager_p.h> +#include <Qt3DRender/private/qrenderaspect_p.h> +#include <Qt3DCore/private/qnodecreatedchangegenerator_p.h> + +QT_BEGIN_NAMESPACE + +namespace Qt3DRender { + +class TestAspect : public Qt3DRender::QRenderAspect +{ +public: + TestAspect(Qt3DCore::QNode *root); + + ~TestAspect(); + + Qt3DRender::Render::NodeManagers *nodeManagers() const; + + void onRegistered(); + void onUnregistered(); + +private: + QScopedPointer<Qt3DCore::QAspectJobManager> m_jobManager; +}; + +} // Qt3DRender + +QT_END_NAMESPACE + +#endif // TESTRENDERASPECT_H |