on xenial help sign in
Updated tests for media items
commitb8fe2b3fdbc0754dd3573761457fff4036441d57 authorNick Dedekind <nicholas.dedekind@gmail.com> dateFri 13 Dec 2013, 15:47 (13 years ago) parentf9a875b
2 files changed+121−144
plugins/Unity/Indicators/qml/MenuItemFactory.qml+3 tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+118−144
plugins/Unity/Indicators/qml/MenuItemFactory.qml+3
@@ -420,6 +420,7 @@ Item {
420420 album: getExtendedProperty(actionState, "album", "unknown")
421421 running: getExtendedProperty(actionState, "running", false)
422422 state: getExtendedProperty(actionState, "state", "")
423+ enabled: menuData && menuData.sensitive || false
423424
424425 onTriggered: {
425426 model.activate(modelIndex);
@@ -431,6 +432,7 @@ Item {
431432 id: playbackItemMenu;
432433 Menus.PlaybackItemMenu {
433434 objectName: "playbackItemMenu"
435+ property QtObject menuData: null
434436 property var menuModel: menuFactory.menuModel
435437 property int menuIndex: -1
436438 property var extendedData: menuData && menuData.ext || undefined
@@ -455,6 +457,7 @@ Item {
455457 canPlay: playAction.valid
456458 canGoNext: nextAction.valid
457459 canGoPrevious: previousAction.valid
460+ enabled: menuData && menuData.sensitive || false
458461
459462 onPlay: {
460463 playAction.activate();
tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+118−144
@@ -84,7 +84,7 @@ Item {
8484 { tag: 'switch1', type: "unity.widgets.systemsettings.tablet.switch", objectName: "switchMenu" },
8585
8686 { 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" },
8888 { tag: 'section', type: "com.canonical.indicator.section", objectName: "sectionMenu" },
8989 { tag: 'progress', type: "com.canonical.indicator.progress", objectName: "progressMenu" },
9090 { tag: 'slider1', type: "com.canonical.indicator.slider", objectName: "sliderMenu" },
@@ -96,8 +96,8 @@ Item {
9696 { tag: 'slider2', type: "com.canonical.unity.slider", objectName: "sliderMenu" },
9797 { tag: 'switch3', type: "com.canonical.unity.switch", objectName: "switchMenu" },
9898
99− { tag: 'mediaplayer', type: "com.canonical.unity.media-player", objectName: "standardMenu" },
100− { tag: 'playbackitem', type: "com.canonical.unity.playback-item", objectName: "standardMenu" },
99+ { tag: 'mediaplayer', type: "com.canonical.unity.media-player", objectName: "mediaPayerMenu" },
100+ { tag: 'playbackitem', type: "com.canonical.unity.playback-item", objectName: "playbackItemMenu" },
101101
102102 { tag: 'wifisection', type: "unity.widgets.systemsettings.tablet.wifisection", objectName: "wifiSection" },
103103 { tag: 'accesspoint', type: "unity.widgets.systemsettings.tablet.accesspoint", objectName: "accessPoint" },
@@ -141,7 +141,7 @@ Item {
141141 loader.data = menuData;
142142 loader.sourceComponent = factory.load(menuData);
143143 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");
145145 }
146146
147147 function test_create_sliderMenu_data() {
@@ -263,37 +263,29 @@ Item {
263263 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
264264 }
265265
266−// function test_create_checkableMenu_data() {
267−// return [
268−// {label: "testLabel1", enabled: true, checked: false },
269−// {label: "testLabel2", enabled: false, checked: true },
270−// ];
271−// }
266+ function test_create_checkableMenu_data() {
267+ return [
268+ {label: "testLabel1", enabled: true, checked: false },
269+ {label: "testLabel2", enabled: false, checked: true },
270+ ];
271+ }
272272
273−// function test_create_checkableMenu(data) {
274−// var menuData = {
275−// 'label': data.label,
276−// 'sensitive': data.enabled,
277−// 'isSeparator': false,
278−// 'icon': "",
279−// 'type': undefined,
280−// 'ext': {},
281−// 'action': "",
282−// 'actionState': undefined,
283−// 'isCheck': true,
284−// 'isRadio': false,
285−// '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");
273+ function test_create_checkableMenu(data) {
274+ menuData.type = "";
275+ menuData.label = data.label;
276+ menuData.sensitive = data.enabled;
277+ menuData.isCheck = true;
278+ menuData.isToggled = data.checked;
292279
293−// compare(loader.item.text, data.label, "Label does not match data");
294−// compare(loader.item.checked, data.checked, "Checked does not match data");
295−// compare(loader.item.enabled, data.enabled, "Enabled does not match data");
296−// }
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+
285+ compare(loader.item.text, data.label, "Label does not match data");
286+ compare(loader.item.checked, data.checked, "Checked does not match data");
287+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
288+ }
297289
298290 function test_create_switchMenu_data() {
299291 return [
@@ -364,7 +356,7 @@ Item {
364356 tryCompareFunction(function() { return loader.item != undefined; }, true);
365357 compare(loader.item.objectName, "accessPoint", "Should have created a access point menu");
366358
367− compare(loader.item.label, data.label, "Label does not match data");
359+ compare(loader.item.text, data.label, "Label does not match data");
368360 compare(loader.item.strengthAction.name, "action::strength", "Strength action incorrect");
369361 compare(loader.item.secure, data.secure, "Secure does not match data");
370362 compare(loader.item.adHoc, data.adHoc, "AdHoc does not match data");
@@ -402,122 +394,104 @@ Item {
402394 tryCompareFunction(function() { return loader.item != undefined; }, true);
403395 compare(loader.item.objectName, "groupedMessage", "Should have created a group message menu");
404396
405− compare(loader.item.title, data.label, "Label does not match data");
397+ compare(loader.item.text, data.label, "Label does not match data");
406398 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");
408400 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
409401 }
410402
411−// function test_create_mediaPayerMenu_data() {
412−// return [{
413−// label: "player1",
414−// icon: "file:://icon1",
415−// albumArt: "file:://art1",
416−// song: "song1",
417−// artist: "artist1",
418−// album: "album1",
419−// running: true,
420−// state: "Playing",
421−// enabled: true
422−// },{
423−// label: "player2",
424−// icon: "file:://icon2",
425−// albumArt: "file:://art2",
426−// song: "song2",
427−// artist: "artist2",
428−// album: "album2",
429−// running: false,
430−// state: "Paused",
431−// enabled: false
432−// }
433−// ];
434−// }
403+ function test_create_mediaPayerMenu_data() {
404+ return [{
405+ label: "player1",
406+ icon: "file:://icon1",
407+ albumArt: "file:://art1",
408+ song: "song1",
409+ artist: "artist1",
410+ album: "album1",
411+ running: true,
412+ state: "Playing",
413+ enabled: true
414+ },{
415+ label: "player2",
416+ icon: "file:://icon2",
417+ albumArt: "file:://art2",
418+ song: "song2",
419+ artist: "artist2",
420+ album: "album2",
421+ running: false,
422+ state: "Paused",
423+ enabled: false
424+ }
425+ ];
426+ }
435427
436−// 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",
443−// 'ext': {},
444−// 'action': "",
445−// 'actionState': {
446−// 'art-url': data.albumArt,
447−// 'title': data.song,
448−// 'artist': data.artist,
449−// 'album': data.album,
450−// 'running': data.running,
451−// 'state': data.state,
452−// },
453−// 'isCheck': false,
454−// 'isRadio': false,
455−// 'isToggled': false,
456−// };
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−// }
428+ function test_create_mediaPayerMenu(data) {
429+ menuData.type = "com.canonical.unity.media-player";
430+ menuData.label = data.label;
431+ menuData.sensitive = data.enabled;
432+ menuData.icon = data.icon;
433+ menuData.actionState = {
434+ 'art-url': data.albumArt,
435+ 'title': data.song,
436+ 'artist': data.artist,
437+ 'album': data.album,
438+ 'running': data.running,
439+ 'state': data.state,
440+ };
473441
474−// function test_create_playbackItemMenu_data() {
475−// return [{
476−// playAction: "action::play",
477−// nextAction: "action::next",
478−// previousAction: "action::previous",
479−// enabled: true
480−// },{
481−// playAction: "action::play2",
482−// nextAction: "action::next2",
483−// previousAction: "action::previous2",
484−// enabled: false
485−// }
486−// ];
487−// }
442+ loader.data = menuData;
443+ loader.sourceComponent = factory.load(menuData);
444+ tryCompareFunction(function() { return loader.item != undefined; }, true);
445+ compare(loader.item.objectName, "mediaPayerMenu", "Should have created a media player menu");
446+
447+ compare(loader.item.playerIcon, data.icon, "Album art does not match data");
448+ compare(loader.item.playerName, data.label, "Album art does not match data");
449+ compare(loader.item.albumArt, data.albumArt, "Album art does not match data");
450+ compare(loader.item.song, data.song, "Song does not match data");
451+ compare(loader.item.artist, data.artist, "Artist does not match data");
452+ compare(loader.item.album, data.album, "Album does not match data");
453+ compare(loader.item.running, data.running, "Running does not match data");
454+ compare(loader.item.state, data.state, "State does not match data");
455+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
456+ }
488457
489−// 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",
496−// 'ext': {
497−// 'xCanonicalPlayAction': data.playAction,
498−// 'xCanonicalNextAction': data.nextAction,
499−// 'xCanonicalPreviousAction': data.previousAction
500−// },
501−// 'action': "",
502−// 'actionState': {},
503−// 'isCheck': false,
504−// 'isRadio': false,
505−// 'isToggled': false,
506−// };
507−
508−// loader.data = menuData;
509−// loader.sourceComponent = factory.load(menuData);
510−// tryCompareFunction(function() { return loader.item != undefined; }, true);
511−// compare(loader.item.objectName, "playbackItemMenu", "Should have created a playback menu");
512−
513−// compare(loader.item.playing, false, "Playing does not match data");
514−// compare(loader.item.playAction.name, data.playAction, "Play action incorrect");
515−// compare(loader.item.nextAction.name, data.nextAction, "Next action incorrect");
516−// compare(loader.item.previousAction.name, data.previousAction, "Previous action incorrect");
517−// compare(loader.item.canPlay, false, "CanPlay should be false");
518−// compare(loader.item.canGoNext, false, "CanGoNext should be false");
519−// compare(loader.item.canGoPrevious, false, "CanGoPrevious should be false");
520−// compare(loader.item.enabled, data.enabled, "Enabled does not match data");
521−// }
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+
473+ function test_create_playbackItemMenu(data) {
474+ menuData.type = "com.canonical.unity.playback-item";
475+ menuData.sensitive = data.enabled;
476+ menuData.ext = {
477+ 'xCanonicalPlayAction': data.playAction,
478+ 'xCanonicalNextAction': data.nextAction,
479+ 'xCanonicalPreviousAction': data.previousAction
480+ };
481+
482+ loader.data = menuData;
483+ loader.sourceComponent = factory.load(menuData);
484+ tryCompareFunction(function() { return loader.item != undefined; }, true);
485+ compare(loader.item.objectName, "playbackItemMenu", "Should have created a playback menu");
486+
487+ compare(loader.item.playing, false, "Playing does not match data");
488+ compare(loader.item.playAction.name, data.playAction, "Play action incorrect");
489+ compare(loader.item.nextAction.name, data.nextAction, "Next action incorrect");
490+ compare(loader.item.previousAction.name, data.previousAction, "Previous action incorrect");
491+ compare(loader.item.canPlay, false, "CanPlay should be false");
492+ compare(loader.item.canGoNext, false, "CanGoNext should be false");
493+ compare(loader.item.canGoPrevious, false, "CanGoPrevious should be false");
494+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
495+ }
522496 }
523497}