~ci-train-bot/ubuntu-settings-components/ubuntu-settings-components-ubuntu-zesty-2202

« back to all changes in this revision

Viewing changes to tests/qmltests/Menus/tst_BaseMenu.qml

  • Committer: Bileto Bot
  • Date: 2016-11-16 18:52:43 UTC
  • mfrom: (146.4.57 touch+pointer-styles)
  • Revision ID: ci-train-bot@canonical.com-20161116185243-o399ryjh002umz1a
* Menus: add Pointer and Touch styles to be used depending on the user
  interaction with components
  Menu items now have a new Style property that defines some common properties
  such as shared colors and sizes that change depending on the UX journey. I'm
  only defining Pointer and TouchStyles for now, but they can be easily
  overridden in case.
  Removed some deprecated properties and adapted colors and sizes to new
  style.
* Bump package version as there's a new API for various components

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
import QtTest 1.0
21
21
import Ubuntu.Test 0.1
22
22
import Ubuntu.Settings.Menus 0.1
 
23
import Ubuntu.Settings.Menus.Style 0.1
23
24
 
24
25
Item {
25
26
    width: units.gu(42)
38
39
        }
39
40
 
40
41
        BaseMenu {
41
 
            id: legacyDividerMenu
42
 
            showDivider: true
43
 
        }
44
 
 
45
 
        BaseMenu {
46
42
            id: clickOverride
47
43
            property bool clicked: false
48
44
            function onClickedCallback() { clicked = true }
52
48
            id: removableMenu
53
49
            removable: true
54
50
        }
 
51
 
 
52
        BaseMenu {
 
53
            id: pointerModeMenu
 
54
            pointerMode: true
 
55
        }
 
56
 
 
57
        BaseMenu {
 
58
            id: touchModeMenu
 
59
            pointerMode: false
 
60
        }
 
61
 
 
62
        BaseMenu {
 
63
            id: menuHeightMenu
 
64
            menuHeight: units.gu(10)
 
65
        }
55
66
    }
56
67
 
57
68
    SignalSpy {
76
87
        function test_doHighlightWhenPressed() {
77
88
            baseMenu.highlightWhenPressed = true;
78
89
            mousePress(baseMenu, baseMenu.width/2, baseMenu.height/2)
79
 
            compare(Qt.colorEqual(baseMenu.highlightColor, theme.palette.highlighted.background), true)
 
90
            compare(Qt.colorEqual(baseMenu.highlightColor, baseMenu.menuStyle.highlightColor), true)
80
91
            mouseRelease(baseMenu)
81
92
        }
82
93
 
83
94
        function test_showDivider() {
84
 
            compare(baseMenu.showDivider, false)
85
95
            compare(baseMenu.divider.visible, false)
86
96
 
87
 
            baseMenu.showDivider = true
88
 
            compare(baseMenu.showDivider, true)
 
97
            baseMenu.divider.visible = true
89
98
            compare(baseMenu.divider.visible, true)
90
99
 
91
 
            baseMenu.showDivider = false
 
100
            baseMenu.divider.visible = false
92
101
            compare(baseMenu.divider.visible, false)
93
 
            compare(baseMenu.showDivider, false)
94
102
        }
95
103
 
96
104
        function test_hideDivider() {
97
 
            compare(dividerMenu.showDivider, true)
98
105
            compare(dividerMenu.divider.visible, true)
99
106
 
100
 
            dividerMenu.showDivider = false
101
 
            compare(dividerMenu.showDivider, false)
 
107
            dividerMenu.divider.visible = false
102
108
            compare(dividerMenu.divider.visible, false)
103
109
 
104
 
            dividerMenu.showDivider = true
 
110
            dividerMenu.divider.visible = true
105
111
            compare(dividerMenu.divider.visible, true)
106
 
            compare(dividerMenu.showDivider, true)
107
 
        }
108
 
 
109
 
        function test_hideDividerLegacy() {
110
 
            legacyDividerMenu.showDivider = false
111
 
            compare(legacyDividerMenu.showDivider, false)
112
 
            compare(legacyDividerMenu.divider.visible, false)
113
 
 
114
 
            legacyDividerMenu.showDivider = true
115
 
            compare(legacyDividerMenu.divider.visible, true)
116
 
            compare(legacyDividerMenu.showDivider, true)
 
112
        }
 
113
 
 
114
        function test_noMenuHeight() {
 
115
            compare(baseMenu.height > baseMenu.menuHeight, true)
 
116
        }
 
117
 
 
118
        function test_dividerMenuHeight() {
 
119
            menuHeightMenu.divider.visible = true
 
120
            compare(menuHeightMenu.height, menuHeightMenu.menuHeight + dividerMenu.divider.height)
 
121
        }
 
122
 
 
123
        function test_noDividerMenuHeight() {
 
124
            menuHeightMenu.divider.visible = false
 
125
            compare(menuHeightMenu.height, menuHeightMenu.menuHeight)
117
126
        }
118
127
 
119
128
        function test_clickEvent() {
178
187
            mouseClick(removeAction, removeAction.width/2, removeAction.height/2)
179
188
            tryCompare(signalSpy, "count", 1)
180
189
        }
 
190
 
 
191
        function test_pointerMode() {
 
192
            compare(pointerModeMenu.menuStyle, PointerStyle, "menuStyle doesn't match Pointer")
 
193
        }
 
194
 
 
195
        function test_touchMode() {
 
196
            compare(touchModeMenu.menuStyle, TouchStyle, "menuStyle doesn't match Touch")
 
197
        }
181
198
    }
182
199
}