blob: 5ded24c57c5717a98d9585a71f4ce233f8ff516f (
plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
import QtQuick
import QtTest
import QtWebEngine
Rectangle {
id: root
width: 200
height: 200
Column {
anchors.fill: parent
Rectangle {
id: placeHolder
width: parent.width
height: 100
color: "red"
}
TestWebEngineView {
id: webEngineView
width: parent.width
height: 100
function getInnerText(element) {
var innerText;
runJavaScript("document.getElementById('" + element + "').innerText", function(result) {
innerText = result;
});
testCase.tryVerify(function() { return innerText != undefined; });
return innerText;
}
}
}
TestCase {
id: testCase
name: "WebEngineViewMouseMove"
when: windowShown
function test_mouseLeave() {
mouseMove(root, 0, 0);
webEngineView.loadHtml(
"<html>" +
"<head><script>" +
"function init() {" +
" var div = document.getElementById('testDiv');" +
" div.onmouseenter = function(e) { div.innerText = 'Mouse IN' };" +
" div.onmouseleave = function(e) { div.innerText = 'Mouse OUT' };" +
"}" +
"</script></head>" +
"<body onload='init()' style='margin: 0px; padding: 0px'>" +
" <div id='testDiv' style='width: 100%; height: 100%; background-color: green' />" +
"</body>" +
"</html>");
verify(webEngineView.waitForLoadSucceeded());
// Make sure the testDiv text is empty.
webEngineView.runJavaScript("document.getElementById('testDiv').innerText = ''");
tryVerify(function() { return !webEngineView.getInnerText("testDiv") });
for (var i = 90; i < 110; ++i)
mouseMove(root, 50, i);
tryVerify(function() { return webEngineView.getInnerText("testDiv") == "Mouse IN" });
for (var i = 110; i > 90; --i)
mouseMove(root, 50, i);
tryVerify(function() { return webEngineView.getInnerText("testDiv") == "Mouse OUT" });
}
}
}
|