summaryrefslogtreecommitdiff
path: root/tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml')
-rw-r--r--tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml b/tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml
new file mode 100644
index 000000000..3955e40a6
--- /dev/null
+++ b/tests/webkitqml/qmltests/WebView/tst_wheelEventHandling.qml
@@ -0,0 +1,62 @@
+import QtQuick 2.0
+import QtTest 1.0
+import QtWebKit 3.0
+import QtWebKit.experimental 1.0
+import Test 1.0
+import "../common"
+
+Item {
+ TestWebView {
+ id: webView
+ width: 800
+ height: 600
+ url: Qt.resolvedUrl("../common/test4.html")
+ }
+
+ SignalSpy {
+ id: scrollSpy
+ target: webView
+ signalName: "contentYChanged"
+ }
+
+ TestCase {
+ name: "WheelEventHandling"
+ when: windowShown
+
+ property variant test: webView.experimental.test
+
+ function init() {
+ webView.url = Qt.resolvedUrl("../common/test4.html")
+ verify(webView.waitForViewportReady())
+ webView.contentY = 0
+ }
+
+ function test_wheelScrollEvent() {
+ skip("https://github.com/qtwebkit/qtwebkit/issues/951")
+
+ scrollSpy.clear()
+ var centerPoint = Qt.point(webView.width / 2, webView.height / 2)
+ test.wheelEvent(webView, centerPoint.x, centerPoint.y, -500);
+ // The signal spy below will time out if the wheel event did not scroll the content.
+ scrollSpy.wait()
+ var position = webView.contentY
+ webView.reload()
+ verify(webView.waitForViewportReady())
+ // The check below will fail if the previous position was not restored after reload.
+ verify(position == webView.contentY)
+ }
+
+ function test_wheelScrollEventAfterReload() {
+ skip("https://github.com/qtwebkit/qtwebkit/issues/951")
+
+ scrollSpy.clear()
+ webView.reload()
+ verify(webView.waitForViewportReady())
+ var centerPoint = Qt.point(webView.width / 2, webView.height / 2)
+ test.wheelEvent(webView, centerPoint.x, centerPoint.y, -500);
+ // The signal spy below will time out if the wheel event did not scroll the content.
+ scrollSpy.wait()
+ }
+ }
+
+}