summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/gestures
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/gestures')
-rw-r--r--tests/auto/widgets/gestures/gestures.pro6
-rw-r--r--tests/auto/widgets/gestures/qgesturerecognizer/BLACKLIST2
-rw-r--r--tests/auto/widgets/gestures/qgesturerecognizer/qgesturerecognizer.pro4
-rw-r--r--tests/auto/widgets/gestures/qgesturerecognizer/tst_qgesturerecognizer.cpp337
4 files changed, 0 insertions, 349 deletions
diff --git a/tests/auto/widgets/gestures/gestures.pro b/tests/auto/widgets/gestures/gestures.pro
deleted file mode 100644
index 5a87a01ee2..0000000000
--- a/tests/auto/widgets/gestures/gestures.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE=subdirs
-SUBDIRS=\
- qgesturerecognizer \
-
-mac: SUBDIRS -= \ # Uses native recognizers
- qgesturerecognizer \
diff --git a/tests/auto/widgets/gestures/qgesturerecognizer/BLACKLIST b/tests/auto/widgets/gestures/qgesturerecognizer/BLACKLIST
deleted file mode 100644
index 7f55c2dae0..0000000000
--- a/tests/auto/widgets/gestures/qgesturerecognizer/BLACKLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-[panGesture:Two finger]
-xcb
diff --git a/tests/auto/widgets/gestures/qgesturerecognizer/qgesturerecognizer.pro b/tests/auto/widgets/gestures/qgesturerecognizer/qgesturerecognizer.pro
deleted file mode 100644
index 7c9ddcfb03..0000000000
--- a/tests/auto/widgets/gestures/qgesturerecognizer/qgesturerecognizer.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG += testcase
-TARGET = tst_qgesturerecognizer
-QT += widgets testlib gui-private core-private
-SOURCES += tst_qgesturerecognizer.cpp
diff --git a/tests/auto/widgets/gestures/qgesturerecognizer/tst_qgesturerecognizer.cpp b/tests/auto/widgets/gestures/qgesturerecognizer/tst_qgesturerecognizer.cpp
deleted file mode 100644
index c3ebb838bb..0000000000
--- a/tests/auto/widgets/gestures/qgesturerecognizer/tst_qgesturerecognizer.cpp
+++ /dev/null
@@ -1,337 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite 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 <QtWidgets/QApplication>
-#include <QtWidgets/QWidget>
-#include <QtWidgets/QGestureEvent>
-#include <QtGui/QScreen>
-#include <QtGui/QTouchDevice>
-#include <QtCore/QVector>
-#include <QtCore/QString>
-#include <QtCore/QHash>
-#include <QtCore/QDebug>
-
-class tst_QGestureRecognizer : public QObject
-{
- Q_OBJECT
-public:
- tst_QGestureRecognizer();
-
-private Q_SLOTS:
- void initTestCase();
-#ifndef QT_NO_GESTURES
- void panGesture_data();
- void panGesture();
- void pinchGesture_data();
- void pinchGesture();
- void swipeGesture_data();
- void swipeGesture();
-#endif // !QT_NO_GESTURES
-
-private:
- const int m_fingerDistance;
- QTouchDevice *m_touchDevice;
-};
-
-tst_QGestureRecognizer::tst_QGestureRecognizer()
- : m_fingerDistance(qRound(QGuiApplication::primaryScreen()->physicalDotsPerInch() / 2.0))
- , m_touchDevice(QTest::createTouchDevice())
-{
- qputenv("QT_PAN_TOUCHPOINTS", "2"); // Prevent device detection of pan touch point count.
-}
-
-void tst_QGestureRecognizer::initTestCase()
-{
-}
-
-#ifndef QT_NO_GESTURES
-
-typedef QVector<Qt::GestureType> GestureTypeVector;
-
-class TestWidget : public QWidget
-{
-public:
- explicit TestWidget(const GestureTypeVector &gestureTypes);
-
- bool gestureReceived(Qt::GestureType gestureType) const
- { return m_receivedGestures.value(gestureType); }
-
-protected:
- bool event(QEvent * event) Q_DECL_OVERRIDE;
-
-private:
- typedef QHash<Qt::GestureType, bool> GestureTypeHash;
- GestureTypeHash m_receivedGestures;
-};
-
-TestWidget::TestWidget(const GestureTypeVector &gestureTypes)
-{
- setAttribute(Qt::WA_AcceptTouchEvents);
-
- foreach (Qt::GestureType gestureType, gestureTypes) {
- grabGesture(gestureType);
- m_receivedGestures.insert(gestureType, false);
- }
-
- const QRect geometry = QGuiApplication::primaryScreen()->availableGeometry();
- const QSize size = geometry.size() / 2;
- resize(size);
- move(geometry.center() - QPoint(size.width() / 2, size.height() / 2));
-}
-
-bool TestWidget::event(QEvent * event)
-{
- switch (event->type()) {
- case QEvent::Gesture: {
- const QGestureEvent *gestureEvent = static_cast<QGestureEvent *>(event);
- const GestureTypeHash::iterator hend = m_receivedGestures.end();
- for (GestureTypeHash::iterator it = m_receivedGestures.begin(); it != hend; ++it) {
- if (const QGesture *gesture = gestureEvent->gesture(it.key())) {
- if (gesture->state() == Qt::GestureFinished)
- it.value() = true;
- }
- }
- }
- break;
- default:
- break;
- }
- return QWidget::event(event);
-}
-
-static void pressSequence(QTest::QTouchEventSequence &sequence,
- QVector<QPoint> &points,
- QWidget *widget)
-{
- const int pointCount = points.size();
- for (int p = 0; p < pointCount; ++p)
- sequence.press(p, points.at(p), widget);
- sequence.commit();
-}
-
-static void linearSequence(int n, const QPoint &delta,
- QTest::QTouchEventSequence &sequence,
- QVector<QPoint> &points,
- QWidget *widget)
-{
- const int pointCount = points.size();
- for (int s = 0; s < n; ++s) {
- for (int p = 0; p < pointCount; ++p) {
- points[p] += delta;
- sequence.move(p, points[p], widget);
- }
- sequence.commit();
- }
-}
-
-static void releaseSequence(QTest::QTouchEventSequence &sequence,
- QVector<QPoint> &points,
- QWidget *widget)
-{
- const int pointCount = points.size();
- for (int p = 0; p < pointCount; ++p)
- sequence.release(p, points[p], widget);
- sequence.commit();
-}
-
-// --- Pan
-
-enum PanSubTest {
- TwoFingerPanSubTest
-};
-
-void tst_QGestureRecognizer::panGesture_data()
-{
- QTest::addColumn<int>("panSubTest");
- QTest::addColumn<bool>("gestureExpected");
- QTest::newRow("Two finger") << int(TwoFingerPanSubTest) << true;
-}
-
-void tst_QGestureRecognizer::panGesture()
-{
- QFETCH(int, panSubTest);
- QFETCH(bool, gestureExpected);
-
- Q_UNUSED(panSubTest) // Single finger pan will be added later.
-
- const int panPoints = 2;
- const Qt::GestureType gestureType = Qt::PanGesture;
- TestWidget widget(GestureTypeVector(1, gestureType));
- widget.setWindowTitle(QTest::currentTestFunction());
- widget.show();
- QVERIFY(QTest::qWaitForWindowExposed(&widget));
-
- QVector<QPoint> points;
- for (int i = 0; i < panPoints; ++i)
- points.append(QPoint(10 + i *20, 10 + i *20));
-
- QTest::QTouchEventSequence panSequence = QTest::touchEvent(&widget, m_touchDevice);
- pressSequence(panSequence, points, &widget);
- linearSequence(5, QPoint(20, 20), panSequence, points, &widget);
- releaseSequence(panSequence, points, &widget);
-
- if (gestureExpected) {
- QTRY_VERIFY(widget.gestureReceived(gestureType));
- } else {
- QCoreApplication::processEvents();
- QVERIFY(!widget.gestureReceived(gestureType));
- }
-}
-
-// --- Pinch
-
-enum PinchSubTest {
- StandardPinchSubTest
-};
-
-void tst_QGestureRecognizer::pinchGesture_data()
-{
- QTest::addColumn<int>("pinchSubTest");
- QTest::addColumn<bool>("gestureExpected");
- QTest::newRow("Standard") << int(StandardPinchSubTest) << true;
-}
-
-void tst_QGestureRecognizer::pinchGesture()
-{
- QFETCH(int, pinchSubTest);
- QFETCH(bool, gestureExpected);
-
- Q_UNUSED(pinchSubTest)
-
- const Qt::GestureType gestureType = Qt::PinchGesture;
- TestWidget widget(GestureTypeVector(1, gestureType));
- widget.setWindowTitle(QTest::currentTestFunction());
- widget.show();
- QVERIFY(QTest::qWaitForWindowExposed(&widget));
-
- QVector<QPoint> points;
- points.append(widget.rect().center());
- points.append(points.front() + QPoint(0, 20));
-
- QTest::QTouchEventSequence pinchSequence = QTest::touchEvent(&widget, m_touchDevice);
- pressSequence(pinchSequence, points, &widget);
-
- for (int s = 0; s < 5; ++s) {
- points[0] += QPoint(5, 30);
- pinchSequence.move(0, points[0], &widget);
- points[1] += QPoint(5, -30);
- pinchSequence.move(1, points[1], &widget);
- pinchSequence.commit();
- }
-
- releaseSequence(pinchSequence, points, &widget);
-
- if (gestureExpected) {
- QTRY_VERIFY(widget.gestureReceived(gestureType));
- } else {
- QCoreApplication::processEvents();
- QVERIFY(!widget.gestureReceived(gestureType));
- }
-}
-
-// --- Swipe
-
-enum SwipeSubTest {
- SwipeLineSubTest,
- SwipeDirectionChangeSubTest,
- SwipeSmallDirectionChangeSubTest
-};
-
-void tst_QGestureRecognizer::swipeGesture_data()
-{
- QTest::addColumn<int>("swipeSubTest");
- QTest::addColumn<bool>("gestureExpected");
- QTest::newRow("Line") << int(SwipeLineSubTest) << true;
- QTest::newRow("DirectionChange") << int(SwipeDirectionChangeSubTest) << false;
- QTest::newRow("SmallDirectionChange") << int(SwipeSmallDirectionChangeSubTest) << true;
-}
-
-void tst_QGestureRecognizer::swipeGesture()
-{
- enum { swipePoints = 3 };
-
- QFETCH(int, swipeSubTest);
- QFETCH(bool, gestureExpected);
-
- const Qt::GestureType gestureType = Qt::SwipeGesture;
- TestWidget widget(GestureTypeVector(1, gestureType));
- widget.setWindowTitle(QTest::currentTestFunction());
- widget.show();
- QVERIFY(QTest::qWaitForWindowExposed(&widget));
-
- // Start a swipe sequence with 2 points (QTBUG-15768)
- const QPoint fingerDistance(m_fingerDistance, m_fingerDistance);
- QVector<QPoint> points;
- for (int i = 0; i < swipePoints - 1; ++i)
- points.append(fingerDistance + i * fingerDistance);
-
- QTest::QTouchEventSequence swipeSequence = QTest::touchEvent(&widget, m_touchDevice);
- pressSequence(swipeSequence, points, &widget);
-
- // Press point #3
- points.append(points.last() + fingerDistance);
- swipeSequence.press(points.size() - 1, points.last(), &widget);
- swipeSequence.commit();
- Q_ASSERT(points.size() == swipePoints);
-
- // Move.
- const QPoint moveDelta(60, 20);
- switch (swipeSubTest) {
- case SwipeLineSubTest:
- linearSequence(5, moveDelta, swipeSequence, points, &widget);
- break;
- case SwipeDirectionChangeSubTest:
- linearSequence(5, moveDelta, swipeSequence, points, &widget);
- linearSequence(3, QPoint(-moveDelta.x(), moveDelta.y()), swipeSequence, points, &widget);
- break;
- case SwipeSmallDirectionChangeSubTest: { // QTBUG-46195, small changes in direction should not cause the gesture to be canceled.
- const QPoint smallChangeMoveDelta(50, 1);
- linearSequence(5, smallChangeMoveDelta, swipeSequence, points, &widget);
- linearSequence(1, QPoint(smallChangeMoveDelta.x(), -3), swipeSequence, points, &widget);
- linearSequence(5, smallChangeMoveDelta, swipeSequence, points, &widget);
- }
- break;
- }
-
- releaseSequence(swipeSequence, points, &widget);
-
- if (gestureExpected) {
- QTRY_VERIFY(widget.gestureReceived(gestureType));
- } else {
- QCoreApplication::processEvents();
- QVERIFY(!widget.gestureReceived(gestureType));
- }
-}
-
-#endif // !QT_NO_GESTURES
-
-QTEST_MAIN(tst_QGestureRecognizer)
-
-#include "tst_qgesturerecognizer.moc"