on xenial help sign in
Updated tests for media items
b8fe2b3Nick Dedekind
plugins/Unity/Indicators/qml/MenuItemFactory.qml+3
@@ -420,6 +420,7 @@ Item {
420 album: getExtendedProperty(actionState, "album", "unknown")
420 album: getExtendedProperty(actionState, "album", "unknown")
421 running: getExtendedProperty(actionState, "running", false)
421 running: getExtendedProperty(actionState, "running", false)
422 state: getExtendedProperty(actionState, "state", "")
422 state: getExtendedProperty(actionState, "state", "")
423+ enabled: menuData && menuData.sensitive || false
423
424
424 onTriggered: {
425 onTriggered: {
425 model.activate(modelIndex);
426 model.activate(modelIndex);
@@ -431,6 +432,7 @@ Item {
431 id: playbackItemMenu;
432 id: playbackItemMenu;
432 Menus.PlaybackItemMenu {
433 Menus.PlaybackItemMenu {
433 objectName: "playbackItemMenu"
434 objectName: "playbackItemMenu"
435+ property QtObject menuData: null
434 property var menuModel: menuFactory.menuModel
436 property var menuModel: menuFactory.menuModel
435 property int menuIndex: -1
437 property int menuIndex: -1
436 property var extendedData: menuData && menuData.ext || undefined
438 property var extendedData: menuData && menuData.ext || undefined
@@ -455,6 +457,7 @@ Item {
455 canPlay: playAction.valid
457 canPlay: playAction.valid
456 canGoNext: nextAction.valid
458 canGoNext: nextAction.valid
457 canGoPrevious: previousAction.valid
459 canGoPrevious: previousAction.valid
460+ enabled: menuData && menuData.sensitive || false
458
461
459 onPlay: {
462 onPlay: {
460 playAction.activate();
463 playAction.activate();
tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+118−144
@@ -84,7 +84,7 @@ Item {
84 { tag: 'switch1', type: "unity.widgets.systemsettings.tablet.switch", objectName: "switchMenu" },
84 { tag: 'switch1', type: "unity.widgets.systemsettings.tablet.switch", objectName: "switchMenu" },
85
85
86 { tag: 'button', type: "com.canonical.indicator.button", objectName: "buttonMenu" },
86 { tag: 'button', type: "com.canonical.indicator.button", objectName: "buttonMenu" },
87− { tag: 'separator', type: "com.canonical.indicator.div", objectName: "divMenu" },
87+ { tag: 'separator', type: "com.canonical.indicator.div", objectName: "separatorMenu" },
88 { tag: 'section', type: "com.canonical.indicator.section", objectName: "sectionMenu" },
88 { tag: 'section', type: "com.canonical.indicator.section", objectName: "sectionMenu" },
89 { tag: 'progress', type: "com.canonical.indicator.progress", objectName: "progressMenu" },
89 { tag: 'progress', type: "com.canonical.indicator.progress", objectName: "progressMenu" },
90 { tag: 'slider1', type: "com.canonical.indicator.slider", objectName: "sliderMenu" },
90 { tag: 'slider1', type: "com.canonical.indicator.slider", objectName: "sliderMenu" },
@@ -96,8 +96,8 @@ Item {
96 { tag: 'slider2', type: "com.canonical.unity.slider", objectName: "sliderMenu" },
96 { tag: 'slider2', type: "com.canonical.unity.slider", objectName: "sliderMenu" },
97 { tag: 'switch3', type: "com.canonical.unity.switch", objectName: "switchMenu" },
97 { tag: 'switch3', type: "com.canonical.unity.switch", objectName: "switchMenu" },
98
98
99− { tag: 'mediaplayer', type: "com.canonical.unity.media-player", objectName: "standardMenu" },
99+ { tag: 'mediaplayer', type: "com.canonical.unity.media-player", objectName: "mediaPayerMenu" },
100− { tag: 'playbackitem', type: "com.canonical.unity.playback-item", objectName: "standardMenu" },
100+ { tag: 'playbackitem', type: "com.canonical.unity.playback-item", objectName: "playbackItemMenu" },
101
101
102 { tag: 'wifisection', type: "unity.widgets.systemsettings.tablet.wifisection", objectName: "wifiSection" },
102 { tag: 'wifisection', type: "unity.widgets.systemsettings.tablet.wifisection", objectName: "wifiSection" },
103 { tag: 'accesspoint', type: "unity.widgets.systemsettings.tablet.accesspoint", objectName: "accessPoint" },
103 { tag: 'accesspoint', type: "unity.widgets.systemsettings.tablet.accesspoint", objectName: "accessPoint" },
@@ -141,7 +141,7 @@ Item {
141 loader.data = menuData;
141 loader.data = menuData;
142 loader.sourceComponent = factory.load(menuData);
142 loader.sourceComponent = factory.load(menuData);
143 tryCompareFunction(function() { return loader.item != undefined; }, true);
143 tryCompareFunction(function() { return loader.item != undefined; }, true);
144− compare(loader.item.objectName, "divMenu", "Should have created a separator menu");
144+ compare(loader.item.objectName, "separatorMenu", "Should have created a separator menu");
145 }
145 }
146
146
147 function test_create_sliderMenu_data() {
147 function test_create_sliderMenu_data() {
@@ -263,37 +263,29 @@ Item {
263 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
263 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
264 }
264 }
265
265
266−// function test_create_checkableMenu_data() {
266+ function test_create_checkableMenu_data() {
267−// return [
267+ return [
268−// {label: "testLabel1", enabled: true, checked: false },
268+ {label: "testLabel1", enabled: true, checked: false },
269−// {label: "testLabel2", enabled: false, checked: true },
269+ {label: "testLabel2", enabled: false, checked: true },
270−// ];
270+ ];
271−// }
271+ }
272
272
273−// function test_create_checkableMenu(data) {
273+ function test_create_checkableMenu(data) {
274−// var menuData = {
274+ menuData.type = "";
275−// 'label': data.label,
275+ menuData.label = data.label;
276−// 'sensitive': data.enabled,
276+ menuData.sensitive = data.enabled;
277−// 'isSeparator': false,
278−// 'icon': "",
279−// 'type': undefined,
280−// 'ext': {},
281−// 'action': "",
282−// 'actionState': undefined,
283−// 'isCheck': true,
277+ menuData.isCheck = true;
284−// 'isRadio': false,
285−// 'isToggled': data.checked,
278+ menuData.isToggled = data.checked;
286−// };
287−
288−// loader.data = menuData;
289−// loader.sourceComponent = factory.load(menuData);
290−// tryCompareFunction(function() { return loader.item != undefined; }, true);
291−// compare(loader.item.objectName, "checkableMenu", "Should have created a standard menu");
292
279
280+ loader.data = menuData;
281+ loader.sourceComponent = factory.load(menuData);
282+ tryCompareFunction(function() { return loader.item != undefined; }, true);
283+ compare(loader.item.objectName, "checkableMenu", "Should have created a standard menu");
284+
293−// compare(loader.item.text, data.label, "Label does not match data");
285+ compare(loader.item.text, data.label, "Label does not match data");
294−// compare(loader.item.checked, data.checked, "Checked does not match data");
286+ compare(loader.item.checked, data.checked, "Checked does not match data");
295−// compare(loader.item.enabled, data.enabled, "Enabled does not match data");
287+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
296−// }
288+ }
297
289
298 function test_create_switchMenu_data() {
290 function test_create_switchMenu_data() {
299 return [
291 return [
@@ -364,7 +356,7 @@ Item {
364 tryCompareFunction(function() { return loader.item != undefined; }, true);
356 tryCompareFunction(function() { return loader.item != undefined; }, true);
365 compare(loader.item.objectName, "accessPoint", "Should have created a access point menu");
357 compare(loader.item.objectName, "accessPoint", "Should have created a access point menu");
366
358
367− compare(loader.item.label, data.label, "Label does not match data");
359+ compare(loader.item.text, data.label, "Label does not match data");
368 compare(loader.item.strengthAction.name, "action::strength", "Strength action incorrect");
360 compare(loader.item.strengthAction.name, "action::strength", "Strength action incorrect");
369 compare(loader.item.secure, data.secure, "Secure does not match data");
361 compare(loader.item.secure, data.secure, "Secure does not match data");
370 compare(loader.item.adHoc, data.adHoc, "AdHoc does not match data");
362 compare(loader.item.adHoc, data.adHoc, "AdHoc does not match data");
@@ -402,122 +394,104 @@ Item {
402 tryCompareFunction(function() { return loader.item != undefined; }, true);
394 tryCompareFunction(function() { return loader.item != undefined; }, true);
403 compare(loader.item.objectName, "groupedMessage", "Should have created a group message menu");
395 compare(loader.item.objectName, "groupedMessage", "Should have created a group message menu");
404
396
405− compare(loader.item.title, data.label, "Label does not match data");
397+ compare(loader.item.text, data.label, "Label does not match data");
406 compare(loader.item.count, data.count, "Count does not match data");
398 compare(loader.item.count, data.count, "Count does not match data");
407− compare(loader.item.appIcon, data.appIcon, "App Icon does not match data");
399+ compare(loader.item.icon, data.appIcon, "App Icon does not match data");
408 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
400 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
409 }
401 }
410
402
411−// function test_create_mediaPayerMenu_data() {
403+ function test_create_mediaPayerMenu_data() {
412−// return [{
404+ return [{
413−// label: "player1",
405+ label: "player1",
414−// icon: "file:://icon1",
406+ icon: "file:://icon1",
415−// albumArt: "file:://art1",
407+ albumArt: "file:://art1",
416−// song: "song1",
408+ song: "song1",
417−// artist: "artist1",
409+ artist: "artist1",
418−// album: "album1",
410+ album: "album1",
419−// running: true,
411+ running: true,
420−// state: "Playing",
412+ state: "Playing",
421−// enabled: true
413+ enabled: true
422−// },{
414+ },{
423−// label: "player2",
415+ label: "player2",
424−// icon: "file:://icon2",
416+ icon: "file:://icon2",
425−// albumArt: "file:://art2",
417+ albumArt: "file:://art2",
426−// song: "song2",
418+ song: "song2",
427−// artist: "artist2",
419+ artist: "artist2",
428−// album: "album2",
420+ album: "album2",
429−// running: false,
421+ running: false,
430−// state: "Paused",
422+ state: "Paused",
431−// enabled: false
423+ enabled: false
432−// }
424+ }
433−// ];
425+ ];
434−// }
426+ }
435
427
436−// function test_create_mediaPayerMenu(data) {
428+ function test_create_mediaPayerMenu(data) {
437−// var menuData = {
438−// 'label': data.label,
439−// 'sensitive': data.enabled,
440−// 'isSeparator': false,
441−// 'icon': data.icon,
442−// 'type': "com.canonical.unity.media-player",
429+ menuData.type = "com.canonical.unity.media-player";
443−// 'ext': {},
430+ menuData.label = data.label;
444−// 'action': "",
431+ menuData.sensitive = data.enabled;
432+ menuData.icon = data.icon;
445−// 'actionState': {
433+ menuData.actionState = {
446−// 'art-url': data.albumArt,
434+ 'art-url': data.albumArt,
447−// 'title': data.song,
435+ 'title': data.song,
448−// 'artist': data.artist,
436+ 'artist': data.artist,
449−// 'album': data.album,
437+ 'album': data.album,
450−// 'running': data.running,
438+ 'running': data.running,
451−// 'state': data.state,
439+ 'state': data.state,
452−// },
453−// 'isCheck': false,
454−// 'isRadio': false,
455−// 'isToggled': false,
456−// };
440+ };
457−
458−// loader.data = menuData;
459−// loader.sourceComponent = factory.load(menuData);
460−// tryCompareFunction(function() { return loader.item != undefined; }, true);
461−// compare(loader.item.objectName, "mediaPayerMenu", "Should have created a media player menu");
462−
463−// compare(loader.item.playerIcon, data.icon, "Album art does not match data");
464−// compare(loader.item.playerName, data.label, "Album art does not match data");
465−// compare(loader.item.albumArt, data.albumArt, "Album art does not match data");
466−// compare(loader.item.song, data.song, "Song does not match data");
467−// compare(loader.item.artist, data.artist, "Artist does not match data");
468−// compare(loader.item.album, data.album, "Album does not match data");
469−// compare(loader.item.running, data.running, "Running does not match data");
470−// compare(loader.item.state, data.state, "State does not match data");
471−// compare(loader.item.enabled, data.enabled, "Enabled does not match data");
472−// }
473
441
474−// function test_create_playbackItemMenu_data() {
442+ loader.data = menuData;
475−// return [{
443+ loader.sourceComponent = factory.load(menuData);
476−// playAction: "action::play",
444+ tryCompareFunction(function() { return loader.item != undefined; }, true);
477−// nextAction: "action::next",
445+ compare(loader.item.objectName, "mediaPayerMenu", "Should have created a media player menu");
478−// previousAction: "action::previous",
446+
479−// enabled: true
447+ compare(loader.item.playerIcon, data.icon, "Album art does not match data");
480−// },{
448+ compare(loader.item.playerName, data.label, "Album art does not match data");
481−// playAction: "action::play2",
449+ compare(loader.item.albumArt, data.albumArt, "Album art does not match data");
482−// nextAction: "action::next2",
450+ compare(loader.item.song, data.song, "Song does not match data");
483−// previousAction: "action::previous2",
451+ compare(loader.item.artist, data.artist, "Artist does not match data");
484−// enabled: false
452+ compare(loader.item.album, data.album, "Album does not match data");
485−// }
453+ compare(loader.item.running, data.running, "Running does not match data");
486−// ];
454+ compare(loader.item.state, data.state, "State does not match data");
455+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
487−// }
456+ }
488
457
458+ function test_create_playbackItemMenu_data() {
459+ return [{
460+ playAction: "action::play",
461+ nextAction: "action::next",
462+ previousAction: "action::previous",
463+ enabled: true
464+ },{
465+ playAction: "action::play2",
466+ nextAction: "action::next2",
467+ previousAction: "action::previous2",
468+ enabled: false
469+ }
470+ ];
471+ }
472+
489−// function test_create_playbackItemMenu(data) {
473+ function test_create_playbackItemMenu(data) {
490−// var menuData = {
491−// 'label': "",
492−// 'sensitive': data.enabled,
493−// 'isSeparator': false,
494−// 'icon': "",
495−// 'type': "com.canonical.unity.playback-item",
474+ menuData.type = "com.canonical.unity.playback-item";
475+ menuData.sensitive = data.enabled;
496−// 'ext': {
476+ menuData.ext = {
497−// 'xCanonicalPlayAction': data.playAction,
477+ 'xCanonicalPlayAction': data.playAction,
498−// 'xCanonicalNextAction': data.nextAction,
478+ 'xCanonicalNextAction': data.nextAction,
499−// 'xCanonicalPreviousAction': data.previousAction
479+ 'xCanonicalPreviousAction': data.previousAction
500−// },
501−// 'action': "",
502−// 'actionState': {},
503−// 'isCheck': false,
504−// 'isRadio': false,
505−// 'isToggled': false,
506−// };
480+ };
507−
481+
508−// loader.data = menuData;
482+ loader.data = menuData;
509−// loader.sourceComponent = factory.load(menuData);
483+ loader.sourceComponent = factory.load(menuData);
510−// tryCompareFunction(function() { return loader.item != undefined; }, true);
484+ tryCompareFunction(function() { return loader.item != undefined; }, true);
511−// compare(loader.item.objectName, "playbackItemMenu", "Should have created a playback menu");
485+ compare(loader.item.objectName, "playbackItemMenu", "Should have created a playback menu");
512−
486+
513−// compare(loader.item.playing, false, "Playing does not match data");
487+ compare(loader.item.playing, false, "Playing does not match data");
514−// compare(loader.item.playAction.name, data.playAction, "Play action incorrect");
488+ compare(loader.item.playAction.name, data.playAction, "Play action incorrect");
515−// compare(loader.item.nextAction.name, data.nextAction, "Next action incorrect");
489+ compare(loader.item.nextAction.name, data.nextAction, "Next action incorrect");
516−// compare(loader.item.previousAction.name, data.previousAction, "Previous action incorrect");
490+ compare(loader.item.previousAction.name, data.previousAction, "Previous action incorrect");
517−// compare(loader.item.canPlay, false, "CanPlay should be false");
491+ compare(loader.item.canPlay, false, "CanPlay should be false");
518−// compare(loader.item.canGoNext, false, "CanGoNext should be false");
492+ compare(loader.item.canGoNext, false, "CanGoNext should be false");
519−// compare(loader.item.canGoPrevious, false, "CanGoPrevious should be false");
493+ compare(loader.item.canGoPrevious, false, "CanGoPrevious should be false");
520−// compare(loader.item.enabled, data.enabled, "Enabled does not match data");
494+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
521−// }
495+ }
522 }
496 }
523}
497}