diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-10-22 07:53:00 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-10-22 16:13:37 +0200 |
commit | 7f3bba6e8a4a3bdb36f40a636b76c02902c09d02 (patch) | |
tree | beefcead25a060c6bdbb034bd63e9b6cd48b9543 /tests/auto | |
parent | 1e499f548a24482a0809a34767a04c91a940ffe8 (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/auto')
-rw-r--r-- | tests/auto/input/input.pro | 3 | ||||
-rw-r--r-- | tests/auto/input/qmouseevent/qmouseevent.pro | 11 | ||||
-rw-r--r-- | tests/auto/input/qmouseevent/tst_qmouseevent.cpp | 93 |
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" |