summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2017-02-27 07:22:35 -0800
committerTony Sarajärvi <tony.sarajarvi@qt.io>2017-03-24 11:01:49 +0000
commit3a463740b2026767b87662d70b9aa5a2c85115e5 (patch)
tree26edf9e21fb2c689021f4f75f46b3f33a14a66d3 /tests
parent385eccbd607216d421f88c38951b00b922eeee50 (diff)
Fix movementX and movementY properties of mouse events
Calculate movementX/movementY at every turn, not only when the mouse is in locked state. Task-number: QTBUG-59127 Change-Id: I362e055e6b5d6f831671604a093434373cedf19a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index 331c15ab8..4d073e94c 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -205,6 +205,7 @@ private Q_SLOTS:
void toPlainTextLoadFinishedRace();
void setZoomFactor();
void mouseButtonTranslation();
+ void mouseMovementProperties();
void printToPdf();
void viewSource();
@@ -4754,6 +4755,37 @@ void tst_QWebEnginePage::mouseButtonTranslation()
QCOMPARE(evaluateJavaScriptSync(view.page(), "lastEvent.buttons").toInt(), 3);
}
+void tst_QWebEnginePage::mouseMovementProperties()
+{
+ QWebEngineView view;
+ ConsolePage page;
+ view.setPage(&page);
+ view.show();
+ QTest::qWaitForWindowExposed(&view);
+
+ QSignalSpy loadFinishedSpy(&page, SIGNAL(loadFinished(bool)));
+ page.setHtml(QStringLiteral(
+ "<html><head><script>\
+ function onMouseMove(event) { console.log(event.movementX + \", \" + event.movementY); }; \
+ </script></head>\
+ <body>\
+ <div style=\"height:600px;\" onmousemove=\"onMouseMove(event)\">\
+ </div>\
+ </body></html>"));
+ loadFinishedSpy.wait();
+
+ QTest::mouseMove(&view, QPoint(20, 20));
+ QTRY_COMPARE(page.messages.count(), 1);
+
+ QTest::mouseMove(&view, QPoint(30, 30));
+ QTRY_COMPARE(page.messages.count(), 2);
+ QTRY_COMPARE(page.messages[1], QString("10, 10"));
+
+ QTest::mouseMove(&view, QPoint(20, 20));
+ QTRY_COMPARE(page.messages.count(), 3);
+ QTRY_COMPARE(page.messages[2], QString("-10, -10"));
+}
+
QPoint tst_QWebEnginePage::elementCenter(QWebEnginePage *page, const QString &id)
{
QVariantList rectList = evaluateJavaScriptSync(page,