diff options
author | Franck Arrecot <franck.arrecot@kdab.com> | 2016-03-01 14:36:45 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-01 21:19:47 +0000 |
commit | 66dba70b569aa26faff962c11050318d4c4517f5 (patch) | |
tree | cdb7eb2aa39e9ab0e525b4098fa1b84c5906770b /tests/auto/render/qstateset/tst_qstateset.cpp | |
parent | 22bff19c8f054d828692849b76153fb2c5fd7967 (diff) |
Class QStateSet renamed to QRenderStateSet
Task-number: QTBUG-51470
Change-Id: Ibf2de3cc0027b5851fa663c590b9b2f181c3077c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/auto/render/qstateset/tst_qstateset.cpp')
-rw-r--r-- | tests/auto/render/qstateset/tst_qstateset.cpp | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/tests/auto/render/qstateset/tst_qstateset.cpp b/tests/auto/render/qstateset/tst_qstateset.cpp deleted file mode 100644 index 34ba43929..000000000 --- a/tests/auto/render/qstateset/tst_qstateset.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB). -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** 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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtTest/QTest> -#include <Qt3DCore/private/qnode_p.h> -#include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qentity.h> - -#include <Qt3DRender/qstateset.h> -#include <Qt3DRender/private/qrenderstate_p.h> -#include <Qt3DRender/qrenderstate.h> - -#include "testpostmanarbiter.h" - -class MyStateSet; -class MyStateSetPrivate : public Qt3DRender::QRenderStatePrivate -{ -public : - MyStateSetPrivate() - : QRenderStatePrivate(Qt3DRender::QRenderState::DepthTest) - {} -}; - - -class MyStateSet : public Qt3DRender::QRenderState -{ - Q_OBJECT -public: - explicit MyStateSet(Qt3DCore::QNode *parent = Q_NULLPTR) - : Qt3DRender::QRenderState(*new MyStateSetPrivate(), parent) - {} - - ~MyStateSet() - { - QNode::cleanup(); - } - -private: - QT3D_CLONEABLE(MyStateSet) - Q_DECLARE_PRIVATE(MyStateSet) -}; - -// We need to call QNode::clone which is protected -// So we sublcass QNode instead of QObject -class tst_QStateSet: public Qt3DCore::QNode -{ - Q_OBJECT -public: - ~tst_QStateSet() - { - QNode::cleanup(); - } - -private Q_SLOTS: - - void checkSaneDefaults() - { - QScopedPointer<Qt3DRender::QStateSet> defaultstateSet(new Qt3DRender::QStateSet); - - QVERIFY(defaultstateSet->renderStates().isEmpty()); - } - - void checkCloning_data() - { - QTest::addColumn<Qt3DRender::QStateSet *>("stateSet"); - QTest::addColumn<QList<Qt3DRender::QRenderState *> >("states"); - - Qt3DRender::QStateSet *defaultConstructed = new Qt3DRender::QStateSet(); - QTest::newRow("defaultConstructed") << defaultConstructed << QList<Qt3DRender::QRenderState *>(); - - Qt3DRender::QStateSet *stateSetWithStates = new Qt3DRender::QStateSet(); - Qt3DRender::QRenderState *state1 = new MyStateSet(); - Qt3DRender::QRenderState *state2 = new MyStateSet(); - QList<Qt3DRender::QRenderState *> states = QList<Qt3DRender::QRenderState *>() << state1 << state2; - stateSetWithStates->addRenderState(state1); - stateSetWithStates->addRenderState(state2); - QTest::newRow("stateSetWithStates") << stateSetWithStates << states; - } - - void checkCloning() - { - // GIVEN - QFETCH(Qt3DRender::QStateSet*, stateSet); - QFETCH(QList<Qt3DRender::QRenderState *>, states); - - // THEN - QCOMPARE(stateSet->renderStates(), states); - - // WHEN - Qt3DRender::QStateSet *clone = static_cast<Qt3DRender::QStateSet *>(QNode::clone(stateSet)); - - // THEN - QVERIFY(clone != Q_NULLPTR); - QCOMPARE(stateSet->id(), clone->id()); - - QCOMPARE(stateSet->renderStates().count(), clone->renderStates().count()); - - for (int i = 0, m = states.count(); i < m; ++i) { - Qt3DRender::QRenderState *sClone = clone->renderStates().at(i); - Qt3DRender::QRenderState *sOrig = states.at(i); - QCOMPARE(sOrig->id(),sClone->id()); - QVERIFY(sClone->parent() == clone); - QVERIFY(sOrig->parent() == stateSet); - } - - delete stateSet; - delete clone; - } - - void checkPropertyUpdates() - { - // GIVEN - QScopedPointer<Qt3DRender::QStateSet> stateSet(new Qt3DRender::QStateSet()); - TestArbiter arbiter(stateSet.data()); - - // WHEN - Qt3DRender::QRenderState *state1 = new MyStateSet(); - stateSet->addRenderState(state1); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 1); - Qt3DCore::QScenePropertyChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); - QCOMPARE(change->propertyName(), "renderState"); - QCOMPARE(change->subjectId(), stateSet->id()); - Qt3DCore::QNodePtr clonedState = change->value().value<Qt3DCore::QNodePtr>(); - QVERIFY(!clonedState.isNull()); - QCOMPARE(clonedState->id(), state1->id()); - QCOMPARE(change->type(), Qt3DCore::NodeAdded); - - arbiter.events.clear(); - - // WHEN - stateSet->addRenderState(state1); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 0); - - // WHEN - stateSet->removeRenderState(state1); - QCoreApplication::processEvents(); - - // THEN - QCOMPARE(arbiter.events.size(), 1); - change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>(); - QCOMPARE(change->propertyName(), "renderState"); - QCOMPARE(change->subjectId(), stateSet->id()); - QCOMPARE(change->value().value<Qt3DCore::QNodeId>(), state1->id()); - QCOMPARE(change->type(), Qt3DCore::NodeRemoved); - - arbiter.events.clear(); - } - -protected: - Qt3DCore::QNode *doClone() const Q_DECL_OVERRIDE - { - return Q_NULLPTR; - } - -}; - -QTEST_MAIN(tst_QStateSet) - -#include "tst_qstateset.moc" |