summaryrefslogtreecommitdiff
path: root/tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml')
-rw-r--r--tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml b/tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml
new file mode 100644
index 000000000..e035dc2a9
--- /dev/null
+++ b/tests/webkitqml/qmltests/DesktopBehavior/tst_linkHovered.qml
@@ -0,0 +1,80 @@
+import QtQuick 2.0
+import QtTest 1.0
+import QtWebKit 3.0
+import "../common"
+
+TestWebView {
+ id: webView
+ width: 200
+ height: 400
+ focus: true
+
+ property string lastUrl
+ property string lastTitle
+
+ SignalSpy {
+ id: spy
+ target: webView
+ signalName: "linkHovered"
+ }
+
+ onLinkHovered: {
+ webView.lastUrl = hoveredUrl
+ webView.lastTitle = hoveredTitle
+ }
+
+ TestCase {
+ name: "DesktopWebViewLinkHovered"
+
+ // Delayed windowShown to workaround problems with Qt5 in debug mode.
+ when: false
+ Timer {
+ running: parent.windowShown
+ repeat: false
+ interval: 1
+ onTriggered: parent.when = true
+ }
+
+ function init() {
+ webView.lastUrl = ""
+ webView.lastTitle = ""
+ spy.clear()
+ }
+
+ function test_linkHovered() {
+ compare(spy.count, 0)
+ webView.url = Qt.resolvedUrl("../common/test2.html")
+ verify(webView.waitForLoadSucceeded())
+ mouseMove(webView, 100, 100)
+ spy.wait()
+ compare(spy.count, 1)
+ compare(webView.lastUrl, Qt.resolvedUrl("../common/test1.html"))
+ compare(webView.lastTitle, "A title")
+ mouseMove(webView, 100, 300)
+ spy.wait()
+ compare(spy.count, 2)
+ compare(webView.lastUrl, "")
+ compare(webView.lastTitle, "")
+ }
+
+ function test_linkHoveredDoesntEmitRepeated() {
+ compare(spy.count, 0)
+ webView.url = Qt.resolvedUrl("../common/test2.html")
+ verify(webView.waitForLoadSucceeded())
+
+ for (var i = 0; i < 100; i += 10)
+ mouseMove(webView, 100, 100 + i)
+
+ spy.wait()
+ compare(spy.count, 1)
+ compare(webView.lastUrl, Qt.resolvedUrl("../common/test1.html"))
+
+ for (var i = 0; i < 100; i += 10)
+ mouseMove(webView, 100, 300 + i)
+
+ spy.wait()
+ compare(spy.count, 2)
+ compare(webView.lastUrl, "")
+ }
+ }
+}