aboutsummaryrefslogtreecommitdiffstats
path: root/tests/qmltests/tst_WidgetDrawer.qml
blob: f7b0fe5140bba7e3abd782347f788ee19a6c0837 (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
import QtQuick 2.6
import QtTest 1.1

// sysui, for getting WidgetDrawer
import display 1.0

import utils 1.0

Item {
    id: root
    width: 600
    height: 600

    // TODO: move this to a common base component
    Binding { target: Style; property: "cellWidth"; value: root.width / 24 }
    Binding { target: Style; property: "cellHeight"; value: root.height / 24 }

    WidgetDrawer {
        id: widgetDrawer
        y: 200
        width: 600
        height: 200

        // A fake application widget
        MultiPointTouchArea {
            anchors.fill: parent
            Rectangle { color: "green"; anchors.fill: parent }
        }
    }

    TritonTestCase {
        name: "WidgetDrawer"

        /*
            Drag the WidgetDrawer all the way right (having it almost closed/out of screen) and then
            move it back, closer to its fully open position, where you finally lift your finger.

            The WidgetDrawer should then animate back to its fully opened state from where you left it.
        */
        function test_dragRightAndBackLeft() {
            var yPos = widgetDrawer.y + widgetDrawer.height/2;

            touchDrag(root, 1, yPos, root.width*0.8, yPos,
                    true /* beginTouch */, false /* endTouch */);

            touchDrag(root, root.width*0.8, yPos, root.width*0.35, yPos,
                    false /* beginTouch */, false /* endTouch */);

            var event = touchEvent(root);
            event.release(0 /* touchId */, root, root.width*0.35, yPos);
            event.commit();

            tryCompare(widgetDrawer, "x", 0, 2000 /* timeout */,
                    "WidgetDrawer didn't move all the way back to its opened state.")
        }
    }
}