~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_SnapDecisionMenu.qml

  • Committer: Nick Dedekind
  • Date: 2014-07-30 12:38:58 UTC
  • mto: This revision was merged to the branch mainline in revision 78.
  • Revision ID: nicholas.dedekind@gmail.com-20140730123858-ntj74kvx525t4njp
fixed tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
                removable: false
46
46
 
47
47
                title: "Text Message"
 
48
                body: "I am a little teapot"
48
49
                time: "11:08am"
49
 
                message: "I am a little teapot"
50
50
            }
51
51
 
52
52
            SnapDecisionMenu {
71
71
    property string textMessageReply: ""
72
72
 
73
73
    SignalSpy {
74
 
        id: signalSpyActivateApp
75
 
        signalName: "appActivated"
 
74
        id: signalSpyIconActivated
 
75
        signalName: "iconActivated"
76
76
        target: messageMenuSelected
77
77
    }
78
78
 
83
83
    }
84
84
 
85
85
    SignalSpy {
86
 
        id: signalSpyActivate
87
 
        signalName: "activated"
 
86
        id: signalSpyActionActivated
 
87
        signalName: "actionActivated"
88
88
        target: messageMenuSelected
89
89
    }
90
90
 
99
99
        when: windowShown
100
100
 
101
101
        function init() {
102
 
            signalSpyActivateApp.clear();
 
102
            signalSpyIconActivated.clear();
103
103
            signalSpyDismiss.clear();
104
 
            signalSpyActivate.clear();
 
104
            signalSpyActionActivated.clear();
105
105
            signalSpyReply.clear();
106
106
            textMessageReply = "";
107
107
 
109
109
            messageMenuSelected.selected = false;
110
110
        }
111
111
 
 
112
 
 
113
 
112
114
        function test_title_data() {
113
115
            return [
114
116
                { title: "title1" },
134
136
        function test_time(data) {
135
137
            messageMenu.time = data.time;
136
138
 
 
139
            var subtitle = UtilsJS.findChild(messageMenu, "time");
 
140
            verify(subtitle !== undefined, "No time");
 
141
            compare(subtitle.text, data.time, "Time does not match set time.");
 
142
        }
 
143
 
 
144
        function test_avatar_data() {
 
145
            return [
 
146
                { avatar: Qt.resolvedUrl("../../artwork/avatar.png") },
 
147
                { avatar: Qt.resolvedUrl("../../artwork/rhythmbox.png") },
 
148
            ];
 
149
        }
 
150
 
 
151
        function test_avatar(data) {
 
152
            messageMenu.avatar = data.avatar;
 
153
 
 
154
            var avatar = UtilsJS.findChild(messageMenu, "avatar");
 
155
            verify(avatar !== undefined, "No avatar");
 
156
            compare(avatar.source, data.avatar, "Avatar does not match set avatar.");
 
157
        }
 
158
 
 
159
        function test_icon_data() {
 
160
            return [
 
161
                { icon: Qt.resolvedUrl("../../artwork/avatar.png") },
 
162
                { icon: Qt.resolvedUrl("../../artwork/rhythmbox.png") },
 
163
            ];
 
164
        }
 
165
 
 
166
        function test_icon(data) {
 
167
            messageMenu.icon = data.icon;
 
168
 
 
169
            var icon = UtilsJS.findChild(messageMenu, "icon");
 
170
            verify(icon !== undefined, "No icon");
 
171
            compare(icon.source, data.icon, "Icon does not match set icon.");
 
172
        }
 
173
 
 
174
        function test_body_data() {
 
175
            return [
 
176
                { body: "This is a test." },
 
177
                { body: "Test is also a test." },
 
178
            ];
 
179
        }
 
180
 
 
181
        function test_body(data) {
 
182
            messageMenu.body = data.body;
 
183
 
137
184
            var body = UtilsJS.findChild(messageMenu, "body");
138
185
            verify(body !== undefined, "No body");
139
 
            compare(body.text, data.time, "Time does not match set time.");
140
 
        }
141
 
 
142
 
        function test_appIcon_data() {
143
 
            return [
144
 
                { appIcon: Qt.resolvedUrl("../../artwork/avatar.png") },
145
 
                { appIcon: Qt.resolvedUrl("../../artwork/rhythmbox.png") },
146
 
            ];
147
 
        }
148
 
 
149
 
        function test_appIcon(data) {
150
 
            messageMenu.appIcon = data.appIcon;
151
 
 
152
 
            var appIcon = UtilsJS.findChild(messageMenu, "appIcon");
153
 
            verify(appIcon !== undefined, "No app icon");
154
 
            compare(appIcon.source, data.appIcon, "App Icon does not match set icon.");
155
 
        }
156
 
 
157
 
        function test_message_data() {
158
 
            return [
159
 
                { message: "This is a test." },
160
 
                { message: "Test is also a test." },
161
 
            ];
162
 
        }
163
 
 
164
 
        function test_message(data) {
165
 
            messageMenu.message = data.message;
166
 
 
167
 
            var subtitle = UtilsJS.findChild(messageMenu, "subtitle");
168
 
            verify(subtitle !== undefined, "No subtitle");
169
 
            compare(subtitle.text, data.message, "Message does not match set message.");
 
186
            compare(body.text, data.body, "Message does not match set message.");
 
187
        }
 
188
 
 
189
        function test_iconActivated() {
 
190
            var icon = UtilsJS.findChild(messageMenuSelected, "icon");
 
191
 
 
192
            mouseClick(icon, icon.width / 2, icon.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
 
193
            compare(signalSpyIconActivated.count > 0, true, "activate icon should have been triggered");
 
194
        }
 
195
 
 
196
        function test_dismiss() {
 
197
            mouseFlick(messageMenuRemovable,
 
198
                       messageMenuRemovable.width / 2,
 
199
                       messageMenuRemovable.height / 2,
 
200
                       messageMenuRemovable.width,
 
201
                       messageMenuRemovable.height / 2,
 
202
                       true, true, units.gu(1), 10);
 
203
            tryCompareFunction(function() { return signalSpyDismiss.count > 0; }, true);
170
204
        }
171
205
 
172
206
        function test_replyButtonText_data() {
184
218
            compare(button.text, data.buttonText, "Button text does not match set text.");
185
219
        }
186
220
 
187
 
        function test_activateApp() {
188
 
            var appIcon = UtilsJS.findChild(messageMenuSelected, "appIcon");
189
 
 
190
 
            mouseClick(appIcon, appIcon.width * 2, appIcon.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
191
 
            compare(signalSpyActivateApp.count, 0, "activate app should not have been triggered");
192
 
 
193
 
            messageMenuSelected.selected = false;
194
 
            mouseClick(appIcon, appIcon.width / 2, appIcon.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
195
 
            compare(signalSpyActivateApp.count, 0, "activate app should not have been triggered when not selected");
196
 
 
197
 
            messageMenuSelected.selected = true;
198
 
            mouseClick(appIcon, appIcon.width / 2, appIcon.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
199
 
            compare(signalSpyActivateApp.count > 0, true, "activate app should have been triggered when selected");
200
 
        }
201
 
 
202
 
        function test_dismiss() {
203
 
            mouseFlick(messageMenuRemovable,
204
 
                       messageMenuRemovable.width / 2,
205
 
                       messageMenuRemovable.height / 2,
206
 
                       messageMenuRemovable.width,
207
 
                       messageMenuRemovable.height / 2,
208
 
                       true, true, units.gu(1), 10);
209
 
            tryCompareFunction(function() { return signalSpyDismiss.count > 0; }, true);
210
 
        }
211
 
 
212
221
        function test_activateEnabled() {
213
222
            messageMenuSelected.selected = true;
214
 
            messageMenuSelected.activateEnabled = false;
 
223
            messageMenuSelected.actionEnabled = false;
215
224
 
216
225
            var actionButton = UtilsJS.findChild(messageMenuSelected, "actionButton");
217
226
            verify(actionButton !== undefined, "Action button not found");
218
227
 
219
228
            compare(actionButton.enabled, false, "Action button should not be enabled when activateEnabled=false");
220
 
            messageMenuSelected.activateEnabled = true
 
229
            messageMenuSelected.actionEnabled = true
221
230
            compare(actionButton.enabled, true, "Action button should be enabled when activateEnabled=true");
222
231
        }
223
232
 
224
 
        function test_activate() {
 
233
        function test_actionActivated() {
225
234
            messageMenuSelected.selected = true;
226
 
            messageMenuSelected.activateEnabled = true;
 
235
            messageMenuSelected.actionEnabled = true;
227
236
 
228
237
            var actionButton = UtilsJS.findChild(messageMenuSelected, "actionButton");
229
238
            verify(actionButton !== undefined, "Action button not found");
230
239
 
231
240
            mouseClick(actionButton, actionButton.width / 2, actionButton.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
232
 
            compare(signalSpyActivate.count > 0, true);
 
241
            compare(signalSpyActionActivated.count > 0, true);
233
242
        }
234
243
 
235
244
        function test_replyEnabled_data() {
286
295
                { tag: 'reply3', index: 2, expected: "reply3" }
287
296
            ]
288
297
        }
289
 
 
290
 
        function test_reply_with_message(data) {
291
 
            messageMenuSelected.selected = true;
292
 
            messageMenu.replyEnabled = true;
293
 
            messageMenuSelected.replyMessages = [ "reply1", "reply2", "reply3", "reply4" ];
294
 
 
295
 
            var messageButton = UtilsJS.findChild(messageMenuSelected, "messageButton");
296
 
            verify(messageButton !== undefined, "Message button not found");
297
 
            mouseClick(messageButton, messageButton.width / 2, messageButton.height / 2, Qt.LeftButton, Qt.NoModifier, 300);
298
 
 
299
 
            tryCompareFunction(function() { return messageMenuSelected.implicitHeight == messageMenuSelected.expandedHeight; }, true);
300
 
 
301
 
            var replyMessage = UtilsJS.findChild(messageMenuSelected, "replyMessage"+data.index);
302
 
            verify(replyMessage !== undefined, "Reply message not found");
303
 
            mouseClick(replyMessage, replyMessage.width / 2, replyMessage.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
304
 
 
305
 
            var sendButton = UtilsJS.findChild(messageMenuSelected, "sendButton");
306
 
            verify(sendButton !== undefined, "Send button not found");
307
 
 
308
 
            mouseClick(sendButton, sendButton.width / 2, sendButton.height / 2, Qt.LeftButton, Qt.NoModifier, 0);
309
 
            compare(signalSpyReply.count > 0, true);
310
 
            compare(textMessageReply, data.expected, "Text message did not reply with correct text.");
311
 
        }
312
298
    }
313
299
}