summaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qmltests/data/tst_mouseMove.qml
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" });
        }
    }
}