summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-10-22 07:53:00 +0200
committerPaul Lemire <paul.lemire@kdab.com>2019-10-22 16:13:37 +0200
commit7f3bba6e8a4a3bdb36f40a636b76c02902c09d02 (patch)
treebeefcead25a060c6bdbb034bd63e9b6cd48b9543 /tests
parent1e499f548a24482a0809a34767a04c91a940ffe8 (diff)
QMouseEvent: fix BIC issue following Modifier/Modifiers change
Will have to be done only in Qt6 unfortunately. For now we abused the fact that an int is used to store the enum so that we store multiple Modifiers values into one Modifiers enum. Change-Id: Ib111140afbe07cfd62fcf3cb8e1a57d3ad848a89 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/input/input.pro3
-rw-r--r--tests/auto/input/qmouseevent/qmouseevent.pro11
-rw-r--r--tests/auto/input/qmouseevent/tst_qmouseevent.cpp93
3 files changed, 106 insertions, 1 deletions
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/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"