summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp15
-rw-r--r--tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp34
2 files changed, 49 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
index eda66198b7..70e5169648 100644
--- a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
+++ b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
@@ -113,13 +113,28 @@ void tst_QMouseEvent::mouseEventBasic()
QPointF local(100, 100);
QPointF scene(200, 200);
QPointF screen(300, 300);
+ // Press left button
QMouseEvent me(QEvent::MouseButtonPress, local, scene, screen, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QCOMPARE(me.isAccepted(), true);
QCOMPARE(me.button(), Qt::LeftButton);
QCOMPARE(me.buttons(), Qt::LeftButton);
+ QVERIFY(me.isPressEvent());
+ QVERIFY(!me.isReleaseEvent());
QCOMPARE(me.position(), local);
QCOMPARE(me.scenePosition(), scene);
QCOMPARE(me.globalPosition(), screen);
+ // Press right button while left is already pressed
+ me = QMouseEvent(QEvent::MouseButtonPress, local, scene, screen, Qt::RightButton, Qt::LeftButton | Qt::RightButton, Qt::NoModifier);
+ QVERIFY(me.isPressEvent());
+ QVERIFY(!me.isReleaseEvent());
+ // Release right button while left is still pressed
+ me = QMouseEvent(QEvent::MouseButtonRelease, local, scene, screen, Qt::RightButton, Qt::LeftButton, Qt::NoModifier);
+ QVERIFY(!me.isPressEvent());
+ QVERIFY(me.isReleaseEvent());
+ // Release left button in the usual way
+ me = QMouseEvent(QEvent::MouseButtonRelease, local, scene, screen, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
+ QVERIFY(!me.isPressEvent());
+ QVERIFY(me.isReleaseEvent());
}
void tst_QMouseEvent::checkMousePressEvent_data()
diff --git a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
index 08c8dd3f78..d3d8eba34d 100644
--- a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
+++ b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
@@ -217,6 +217,7 @@ public:
private slots:
void cleanup();
void qPointerUniqueId();
+ void state();
void touchDisabledByDefault();
void touchEventAcceptedByDefault();
void touchBeginPropagatesWhenIgnored();
@@ -290,6 +291,39 @@ void tst_QTouchEvent::qPointerUniqueId()
QCOMPARE(set.size(), 2);
}
+void tst_QTouchEvent::state()
+{
+ QTouchEvent touchEvent(QEvent::TouchBegin, touchScreenDevice,
+ Qt::NoModifier, QList<QEventPoint>() <<
+ QEventPoint(0, QEventPoint::State::Stationary, {}, {}) <<
+ QEventPoint(1, QEventPoint::State::Pressed, {}, {}));
+ QCOMPARE(touchEvent.touchPointStates(), QEventPoint::State::Stationary | QEventPoint::State::Pressed);
+ QCOMPARE(touchEvent.pointCount(), 2);
+ QVERIFY(touchEvent.isPressEvent());
+ QVERIFY(!touchEvent.isUpdateEvent());
+ QVERIFY(!touchEvent.isReleaseEvent());
+
+ touchEvent = QTouchEvent(QEvent::TouchBegin, touchScreenDevice,
+ Qt::NoModifier, QList<QEventPoint>() <<
+ QEventPoint(0, QEventPoint::State::Updated, {}, {}) <<
+ QEventPoint(1, QEventPoint::State::Pressed, {}, {}));
+ QCOMPARE(touchEvent.touchPointStates(), QEventPoint::State::Updated | QEventPoint::State::Pressed);
+ QCOMPARE(touchEvent.pointCount(), 2);
+ QVERIFY(touchEvent.isPressEvent());
+ QVERIFY(!touchEvent.isUpdateEvent());
+ QVERIFY(!touchEvent.isReleaseEvent());
+
+ touchEvent = QTouchEvent(QEvent::TouchBegin, touchScreenDevice,
+ Qt::NoModifier, QList<QEventPoint>() <<
+ QEventPoint(0, QEventPoint::State::Updated, {}, {}) <<
+ QEventPoint(1, QEventPoint::State::Released, {}, {}));
+ QCOMPARE(touchEvent.touchPointStates(), QEventPoint::State::Updated | QEventPoint::State::Released);
+ QCOMPARE(touchEvent.pointCount(), 2);
+ QVERIFY(!touchEvent.isPressEvent());
+ QVERIFY(!touchEvent.isUpdateEvent());
+ QVERIFY(touchEvent.isReleaseEvent());
+}
+
void tst_QTouchEvent::touchDisabledByDefault()
{
// QWidget