diff options
author | Szabolcs David <davidsz@inf.u-szeged.hu> | 2017-02-27 07:22:35 -0800 |
---|---|---|
committer | Tony Sarajärvi <tony.sarajarvi@qt.io> | 2017-03-24 11:01:49 +0000 |
commit | 3a463740b2026767b87662d70b9aa5a2c85115e5 (patch) | |
tree | 26edf9e21fb2c689021f4f75f46b3f33a14a66d3 /tests | |
parent | 385eccbd607216d421f88c38951b00b922eeee50 (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.cpp | 32 |
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, |