diff options
Diffstat (limited to 'tests/auto/input')
17 files changed, 220 insertions, 21 deletions
diff --git a/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp b/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp index 48ac4b3fe..94f02bc1e 100644 --- a/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp +++ b/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp @@ -30,11 +30,9 @@ #include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DInput/private/abstractaxisinput_p.h> #include <Qt3DInput/QAbstractAxisInput> #include <Qt3DInput/private/qabstractaxisinput_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include "testdevice.h" class DummyAxisInput : public Qt3DInput::QAbstractAxisInput diff --git a/tests/auto/input/action/tst_action.cpp b/tests/auto/input/action/tst_action.cpp index 6b8b11b80..cc40cef2f 100644 --- a/tests/auto/input/action/tst_action.cpp +++ b/tests/auto/input/action/tst_action.cpp @@ -30,7 +30,6 @@ #include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/qpropertynodeaddedchange.h> #include <Qt3DCore/qpropertynoderemovedchange.h> #include <Qt3DInput/private/action_p.h> diff --git a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp index 0bdaadc46..6f91ce337 100644 --- a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp +++ b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp @@ -32,11 +32,9 @@ #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DInput/private/analogaxisinput_p.h> #include <Qt3DInput/private/inputhandler_p.h> #include <Qt3DInput/QAnalogAxisInput> -#include <Qt3DCore/qpropertyupdatedchange.h> class tst_AnalogAxisInput: public Qt3DCore::QBackendNodeTester { diff --git a/tests/auto/input/axis/tst_axis.cpp b/tests/auto/input/axis/tst_axis.cpp index de9d5c553..ddd59b395 100644 --- a/tests/auto/input/axis/tst_axis.cpp +++ b/tests/auto/input/axis/tst_axis.cpp @@ -30,7 +30,6 @@ #include <qbackendnodetester.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/qpropertynodeaddedchange.h> #include <Qt3DCore/qpropertynoderemovedchange.h> #include <Qt3DInput/private/axis_p.h> diff --git a/tests/auto/input/axisaccumulator/tst_axisaccumulator.cpp b/tests/auto/input/axisaccumulator/tst_axisaccumulator.cpp index f7d7d32f1..f8d4adcd2 100644 --- a/tests/auto/input/axisaccumulator/tst_axisaccumulator.cpp +++ b/tests/auto/input/axisaccumulator/tst_axisaccumulator.cpp @@ -28,7 +28,6 @@ #include <QtTest/QTest> #include <qbackendnodetester.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DInput/private/axis_p.h> diff --git a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp index 5debe4d99..e315ed1dc 100644 --- a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp +++ b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp @@ -32,11 +32,9 @@ #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DInput/private/buttonaxisinput_p.h> #include <Qt3DInput/private/inputhandler_p.h> #include <Qt3DInput/QButtonAxisInput> -#include <Qt3DCore/qpropertyupdatedchange.h> class tst_ButtonAxisInput: public Qt3DCore::QBackendNodeTester { diff --git a/tests/auto/input/input.pro b/tests/auto/input/input.pro index 6169d3f7c..7799c2b89 100644 --- a/tests/auto/input/input.pro +++ b/tests/auto/input/input.pro @@ -29,5 +29,6 @@ qtConfig(private_tests) { mousedevice \ utils \ axisaccumulator \ - axisaccumulatorjob + axisaccumulatorjob \ + qmouseevent } diff --git a/tests/auto/input/loadproxydevicejob/tst_loadproxydevicejob.cpp b/tests/auto/input/loadproxydevicejob/tst_loadproxydevicejob.cpp index 985ee1955..c5322eda6 100644 --- a/tests/auto/input/loadproxydevicejob/tst_loadproxydevicejob.cpp +++ b/tests/auto/input/loadproxydevicejob/tst_loadproxydevicejob.cpp @@ -33,7 +33,6 @@ #include <Qt3DInput/private/inputhandler_p.h> #include <Qt3DInput/private/physicaldeviceproxy_p.h> #include <Qt3DInput/private/qinputdeviceintegration_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qbackendnode_p.h> #include "qbackendnodetester.h" #include "testdeviceproxy.h" diff --git a/tests/auto/input/mousedevice/tst_mousedevice.cpp b/tests/auto/input/mousedevice/tst_mousedevice.cpp index 41ecd68c7..cad1ab951 100644 --- a/tests/auto/input/mousedevice/tst_mousedevice.cpp +++ b/tests/auto/input/mousedevice/tst_mousedevice.cpp @@ -58,6 +58,7 @@ private Q_SLOTS: QCOMPARE(backendMouseDevice.previousPos(), QPointF()); QCOMPARE(backendMouseDevice.wasPressed(), false); QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); } void checkInitializeFromPeer() @@ -85,6 +86,7 @@ private Q_SLOTS: QCOMPARE(backendMouseDevice.previousPos(), QPointF()); QCOMPARE(backendMouseDevice.wasPressed(), false); QCOMPARE(backendMouseDevice.sensitivity(), 0.8f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); } { // WHEN @@ -125,6 +127,7 @@ private Q_SLOTS: QCOMPARE(backendMouseDevice.previousPos(), QPointF(400.0f, 400.0f)); QCOMPARE(backendMouseDevice.wasPressed(), true); QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); // WHEN eventList = QList<QT_PREPEND_NAMESPACE(QMouseEvent)>() << QT_PREPEND_NAMESPACE(QMouseEvent)(QMouseEvent::MouseMove, @@ -147,12 +150,13 @@ private Q_SLOTS: QCOMPARE(backendMouseDevice.previousPos(), QPointF(600.0f, 600.0f)); QCOMPARE(backendMouseDevice.wasPressed(), true); QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); // WHEN eventList = QList<QT_PREPEND_NAMESPACE(QMouseEvent)>() << QT_PREPEND_NAMESPACE(QMouseEvent)(QMouseEvent::MouseButtonRelease, - QPointF(600.0f, 600.0f), - QPointF(600.0f, 600.0f), - QPointF(600.0f, 600.0f), + QPointF(800.0f, 800.0f), + QPointF(800.0f, 800.0f), + QPointF(800.0f, 800.0f), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); @@ -166,9 +170,61 @@ private Q_SLOTS: QCOMPARE(backendMouseDevice.mouseState().leftPressed, false); QCOMPARE(backendMouseDevice.mouseState().rightPressed, false); QCOMPARE(backendMouseDevice.mouseState().centerPressed, false); - QCOMPARE(backendMouseDevice.previousPos(), QPointF(600.0f, 600.0f)); + QCOMPARE(backendMouseDevice.previousPos(), QPointF(800.0f, 800.0f)); QCOMPARE(backendMouseDevice.wasPressed(), false); QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); + + // WHEN + eventList = QList<QT_PREPEND_NAMESPACE(QMouseEvent)>() << QT_PREPEND_NAMESPACE(QMouseEvent)(QMouseEvent::MouseMove, + QPointF(900.0f, 900.0f), + QPointF(900.0f, 900.0f), + QPointF(900.0f, 900.0f), + Qt::NoButton, + Qt::NoButton, + Qt::NoModifier); + + // THEN -> no axes update + backendMouseDevice.updateMouseEvents(eventList); + QCOMPARE(backendMouseDevice.mouseState().xAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().yAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().wXAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().wYAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().leftPressed, false); + QCOMPARE(backendMouseDevice.mouseState().rightPressed, false); + QCOMPARE(backendMouseDevice.mouseState().centerPressed, false); + QCOMPARE(backendMouseDevice.previousPos(), QPointF(900.0f, 900.0f)); + QCOMPARE(backendMouseDevice.wasPressed(), false); + QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), false); + + + // WHEN + eventList = QList<QT_PREPEND_NAMESPACE(QMouseEvent)>() << QT_PREPEND_NAMESPACE(QMouseEvent)(QMouseEvent::MouseMove, + QPointF(1000.0f, 1000.0f), + QPointF(1000.0f, 1000.0f), + QPointF(1000.0f, 1000.0f), + Qt::NoButton, + Qt::NoButton, + Qt::NoModifier); + + Qt3DInput::QMouseDevice mouseDevice; + mouseDevice.setUpdateAxesContinuously(true); + backendMouseDevice.syncFromFrontEnd(&mouseDevice, false); + backendMouseDevice.updateMouseEvents(eventList); + + // THEN + QCOMPARE(backendMouseDevice.mouseState().xAxis, (1000.0f - 900.0f) * 0.1f); + QCOMPARE(backendMouseDevice.mouseState().yAxis, (900.0f - 1000.0f) * 0.1f); + QCOMPARE(backendMouseDevice.mouseState().wXAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().wYAxis, 0.0f); + QCOMPARE(backendMouseDevice.mouseState().leftPressed,false); + QCOMPARE(backendMouseDevice.mouseState().rightPressed, false); + QCOMPARE(backendMouseDevice.mouseState().centerPressed, false); + QCOMPARE(backendMouseDevice.previousPos(), QPointF(1000.0f, 1000.0f)); + QCOMPARE(backendMouseDevice.wasPressed(), false); + QCOMPARE(backendMouseDevice.sensitivity(), 0.1f); + QCOMPARE(backendMouseDevice.updateAxesContinuously(), true); } void checkMouseWheelState() @@ -249,6 +305,15 @@ private Q_SLOTS: // THEN QCOMPARE(backendMouseDevice.sensitivity(), newValue); } + { + // WHEN + const bool newValue = true; + mouseDevice.setUpdateAxesContinuously(newValue); + backendMouseDevice.syncFromFrontEnd(&mouseDevice, false); + + // THEN + QCOMPARE(backendMouseDevice.updateAxesContinuously(), newValue); + } } }; diff --git a/tests/auto/input/physicaldeviceproxy/tst_physicaldeviceproxy.cpp b/tests/auto/input/physicaldeviceproxy/tst_physicaldeviceproxy.cpp index aaf46a54b..bd5da8e3f 100644 --- a/tests/auto/input/physicaldeviceproxy/tst_physicaldeviceproxy.cpp +++ b/tests/auto/input/physicaldeviceproxy/tst_physicaldeviceproxy.cpp @@ -32,9 +32,7 @@ #include <Qt3DInput/private/qabstractphysicaldeviceproxy_p_p.h> #include <Qt3DInput/private/physicaldeviceproxy_p.h> #include <Qt3DInput/private/inputmanagers_p.h> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qbackendnode_p.h> -#include <Qt3DCore/private/qpropertyupdatedchangebase_p.h> #include "qbackendnodetester.h" #include "testdeviceproxy.h" #include "testpostmanarbiter.h" diff --git a/tests/auto/input/qabstractphysicaldeviceproxy/tst_qabstractphysicaldeviceproxy.cpp b/tests/auto/input/qabstractphysicaldeviceproxy/tst_qabstractphysicaldeviceproxy.cpp index aef76cc0d..bbe184e0e 100644 --- a/tests/auto/input/qabstractphysicaldeviceproxy/tst_qabstractphysicaldeviceproxy.cpp +++ b/tests/auto/input/qabstractphysicaldeviceproxy/tst_qabstractphysicaldeviceproxy.cpp @@ -29,7 +29,6 @@ #include <QtTest/QTest> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qnodecreatedchangegenerator_p.h> #include <Qt3DCore/qnodecreatedchange.h> #include "testdeviceproxy.h" diff --git a/tests/auto/input/qaction/tst_qaction.cpp b/tests/auto/input/qaction/tst_qaction.cpp index 8d097978f..13c4a2d83 100644 --- a/tests/auto/input/qaction/tst_qaction.cpp +++ b/tests/auto/input/qaction/tst_qaction.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QtTest/QTest> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/private/qnodecreatedchangegenerator_p.h> diff --git a/tests/auto/input/qaxis/tst_qaxis.cpp b/tests/auto/input/qaxis/tst_qaxis.cpp index 36d434c6a..9b3068442 100644 --- a/tests/auto/input/qaxis/tst_qaxis.cpp +++ b/tests/auto/input/qaxis/tst_qaxis.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QtTest/QTest> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/private/qnodecreatedchangegenerator_p.h> diff --git a/tests/auto/input/qaxisaccumulator/tst_qaxisaccumulator.cpp b/tests/auto/input/qaxisaccumulator/tst_qaxisaccumulator.cpp index e4145ab7a..9f96cd845 100644 --- a/tests/auto/input/qaxisaccumulator/tst_qaxisaccumulator.cpp +++ b/tests/auto/input/qaxisaccumulator/tst_qaxisaccumulator.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QtTest/QTest> -#include <Qt3DCore/qpropertyupdatedchange.h> #include <Qt3DCore/private/qnode_p.h> #include <Qt3DCore/private/qscene_p.h> #include <Qt3DCore/private/qnodecreatedchangegenerator_p.h> diff --git a/tests/auto/input/qmousedevice/tst_qmousedevice.cpp b/tests/auto/input/qmousedevice/tst_qmousedevice.cpp index fd2c8e603..6a8f39c71 100644 --- a/tests/auto/input/qmousedevice/tst_qmousedevice.cpp +++ b/tests/auto/input/qmousedevice/tst_qmousedevice.cpp @@ -50,6 +50,7 @@ private Q_SLOTS: // THEN QCOMPARE(mouseDevice.sensitivity(), 0.1f); + QCOMPARE(mouseDevice.updateAxesContinuously(), false); QCOMPARE(mouseDevice.axisCount(), 4); QCOMPARE(mouseDevice.buttonCount(), 3); QCOMPARE(mouseDevice.axisNames(), QStringList() @@ -96,6 +97,25 @@ private Q_SLOTS: QCOMPARE(mouseDevice.sensitivity(), newValue); QCOMPARE(spy.count(), 0); } + { + // WHEN + QSignalSpy spy(&mouseDevice, SIGNAL(updateAxesContinuouslyChanged(bool))); + const bool newValue = true; + mouseDevice.setUpdateAxesContinuously(newValue); + + // THEN + QVERIFY(spy.isValid()); + QCOMPARE(mouseDevice.updateAxesContinuously(), newValue); + QCOMPARE(spy.count(), 1); + + // WHEN + spy.clear(); + mouseDevice.setUpdateAxesContinuously(newValue); + + // THEN + QCOMPARE(mouseDevice.updateAxesContinuously(), newValue); + QCOMPARE(spy.count(), 0); + } } void checkCreationData() @@ -175,6 +195,31 @@ private Q_SLOTS: } + void checkUpdateAxesContinuouslyUpdate() + { + // GIVEN + TestArbiter arbiter; + Qt3DInput::QMouseDevice mouseDevice; + arbiter.setArbiterOnNode(&mouseDevice); + + { + // WHEN + mouseDevice.setUpdateAxesContinuously(true); + // THEN + QCOMPARE(arbiter.dirtyNodes.size(), 1); + QCOMPARE(arbiter.dirtyNodes.front(), &mouseDevice); + } + + { + // WHEN + mouseDevice.setSensitivity(true); + + QCOMPARE(arbiter.dirtyNodes.size(), 1); + QCOMPARE(arbiter.dirtyNodes.front(), &mouseDevice); + } + + } + }; QTEST_MAIN(tst_QMouseDevice) diff --git a/tests/auto/input/qmouseevent/qmouseevent.pro b/tests/auto/input/qmouseevent/qmouseevent.pro new file mode 100644 index 000000000..70f4c6eda --- /dev/null +++ b/tests/auto/input/qmouseevent/qmouseevent.pro @@ -0,0 +1,11 @@ +TEMPLATE = app + +TARGET = tst_qmouseevent + +QT += 3dcore 3dcore-private 3dinput 3dinput-private testlib + +CONFIG += testcase + +SOURCES += tst_qmouseevent.cpp + +include(../commons/commons.pri) diff --git a/tests/auto/input/qmouseevent/tst_qmouseevent.cpp b/tests/auto/input/qmouseevent/tst_qmouseevent.cpp new file mode 100644 index 000000000..b48afb99d --- /dev/null +++ b/tests/auto/input/qmouseevent/tst_qmouseevent.cpp @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** Copyright (C) 2019 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 <Qt3DInput/qmouseevent.h> +#include <QtGui/QMouseEvent> +#include <QObject> +#include <QSignalSpy> + +class tst_QMouseEvent : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void checkModifiers() + { + { + // GIVEN + QT_PREPEND_NAMESPACE(QMouseEvent) event(QEvent::MouseButtonPress, + QPointF(500, 500), + QPointF(500, 500), + Qt::LeftButton, + Qt::LeftButton, + Qt::NoModifier); + + // WHEN + Qt3DInput::QMouseEvent event3D(event); + + // THEN + QCOMPARE(event3D.modifiers(), Qt3DInput::QMouseEvent::NoModifier); + } + { + // GIVEN + QT_PREPEND_NAMESPACE(QMouseEvent) event(QEvent::MouseButtonPress, + QPointF(500, 500), + QPointF(500, 500), + Qt::LeftButton, + Qt::LeftButton, + Qt::ShiftModifier); + + // WHEN + Qt3DInput::QMouseEvent event3D(event); + + // THEN + QCOMPARE(event3D.modifiers(), Qt3DInput::QMouseEvent::ShiftModifier); + } + { + // GIVEN + QT_PREPEND_NAMESPACE(QMouseEvent) event(QEvent::MouseButtonPress, + QPointF(500, 500), + QPointF(500, 500), + Qt::LeftButton, + Qt::LeftButton, + Qt::ShiftModifier|Qt::ControlModifier); + + // WHEN + Qt3DInput::QMouseEvent event3D(event); + + // THEN + QCOMPARE(int(event3D.modifiers()), int(Qt3DInput::QMouseEvent::ShiftModifier|Qt3DInput::QMouseEvent::ControlModifier)); + } + } +}; + +QTEST_MAIN(tst_QMouseEvent) + +#include "tst_qmouseevent.moc" |