summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2016-07-29 13:34:29 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2016-08-01 09:58:23 +0000
commit6f75096afc000991111bb0fd7a7e530ce3518627 (patch)
treec19b2774cf6ae18cbd477629466ff26d55bddb61 /tests
parentf2995ee078661e2d8715cbbcab7871198082d725 (diff)
Add helper function to reset QMouseEvent localPos
In Qt Quick there are many places which copy mouse events repeatedly, with the only goal of adjusting the local position. Instead it's much more sensible to re-use the same event. Change-Id: I2c6f2b73ee3a7a6df489f813cf2f60b48a6e48df Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
index 6af6738bdb..a1de205571 100644
--- a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
+++ b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp
@@ -75,6 +75,7 @@ public slots:
void cleanupTestCase();
void init();
private slots:
+ void mouseEventBasic();
void checkMousePressEvent_data();
void checkMousePressEvent();
void checkMouseReleaseEvent_data();
@@ -107,6 +108,26 @@ void tst_QMouseEvent::init()
testMouseWidget->mouseReleaseModifiers = 0;
}
+void tst_QMouseEvent::mouseEventBasic()
+{
+ QPointF local(100, 100);
+ QPointF scene(200, 200);
+ QPointF screen(300, 300);
+ 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);
+ QCOMPARE(me.localPos(), local);
+ QCOMPARE(me.windowPos(), scene);
+ QCOMPARE(me.screenPos(), screen);
+
+ QPointF changedLocal(33, 66);
+ me.setLocalPos(changedLocal);
+ QCOMPARE(me.localPos(), changedLocal);
+ QCOMPARE(me.windowPos(), scene);
+ QCOMPARE(me.screenPos(), screen);
+}
+
void tst_QMouseEvent::checkMousePressEvent_data()
{
QTest::addColumn<int>("buttonPressed");