1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
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() {
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() {
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()
}
}
}
|