aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickcontrols/controls/data/tst_busyindicator.qml
blob: 001b0c474f28c6b19b7426c3c1e659211ee89b06 (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
74
75
76
77
78
79
80
81
82
83
84
85
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick
import QtTest
import QtQuick.Controls

TestCase {
    id: testCase
    width: 400
    height: 400
    visible: true
    when: windowShown
    name: "BusyIndicator"

    Component {
        id: busyIndicator
        BusyIndicator { }
    }

    Component {
        id: mouseArea
        MouseArea { }
    }
    
    Component {
        id: busyIndicatorInItem
        Item {
            BusyIndicator { }
        }
    }
    
    function init() {
        failOnWarning(/.?/)
    }

    function test_defaults() {
        let control = createTemporaryObject(busyIndicator, testCase)
        verify(control)
        compare(control.running, true)
    }

    function test_running() {
        let control = createTemporaryObject(busyIndicator, testCase)
        verify(control)

        compare(control.running, true)
        control.running = false
        compare(control.running, false)
    }

    // QTBUG-61785
    function test_mouseArea() {
        let ma = createTemporaryObject(mouseArea, testCase, {width: testCase.width, height: testCase.height})
        verify(ma)

        let control = busyIndicator.createObject(ma, {width: testCase.width, height: testCase.height})
        verify(control)

        mousePress(control)
        verify(ma.pressed)

        mouseRelease(control)
        verify(!ma.pressed)

        let touch = touchEvent(control)
        touch.press(0, control).commit()
        verify(ma.pressed)

        touch.release(0, control).commit()
        verify(!ma.pressed)
    }

    // QTBUG-108808
    function test_visibility() {
        let control = createTemporaryObject(busyIndicatorInItem, testCase, {visible: false})
        verify(control)

        let invisibleImage = grabImage(control)
        control.visible = true
        let visibleImage = grabImage(control)

        verify(!invisibleImage.equals(visibleImage))
    }
}