diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/touchinput/tst_touchinput.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/widgets/touchinput/tst_touchinput.cpp b/tests/auto/widgets/touchinput/tst_touchinput.cpp index d9381153d..3c7d8ccbb 100644 --- a/tests/auto/widgets/touchinput/tst_touchinput.cpp +++ b/tests/auto/widgets/touchinput/tst_touchinput.cpp @@ -68,10 +68,12 @@ private: QTest::touchEvent(target, s_touchDevice).press(42, p, target); + QSignalSpy spy(view.page(), &QWebEnginePage::scrollPositionChanged); for (int i = 0; i < 3; ++i) { down ? p -= QPoint(5, 15) : p += QPoint(5, 15); QTest::qWait(100); // too fast and events are recognized as fling gesture QTest::touchEvent(target, s_touchDevice).move(42, p, target); + spy.wait(); } QTest::touchEvent(target, s_touchDevice).release(42, p, target); @@ -114,6 +116,11 @@ private: return position ? (*position = p) : p; } + int pageScrollPosition() { + // this one is updated later in page in asynchronous way + return qRound(view.page()->scrollPosition().y()); + } + double getScaleFactor(double *scale = nullptr) { double s = evaluateJavaScriptSync(view.page(), "window.visualViewport.scale").toDouble(); return scale ? (*scale = s) : s; @@ -155,6 +162,7 @@ void TouchInputTest::cleanup() evaluateJavaScriptSync(view.page(), "if (document.activeElement) document.activeElement.blur()"); evaluateJavaScriptSync(view.page(), "window.scrollTo(0, 0)"); QTRY_COMPARE(getScrollPosition(), 0); + QTRY_COMPARE(pageScrollPosition(), 0); } void TouchInputTest::touchTap() |