From 3a463740b2026767b87662d70b9aa5a2c85115e5 Mon Sep 17 00:00:00 2001 From: Szabolcs David Date: Mon, 27 Feb 2017 07:22:35 -0800 Subject: 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 Reviewed-by: Allan Sandfeld Jensen --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'tests/auto') 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( + "\ + \ +
\ +
\ + ")); + 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, -- cgit v1.2.3