summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/touchinput/tst_touchinput.cpp8
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()