@@ -99,6 +99,7 @@ Item {
9999 { tag: 'alarm', type: "com.canonical.indicator.alarm", objectName: "alarmMenu" },
100100 { tag: 'appointment', type: "com.canonical.indicator.appointment", objectName: "appointmentMenu" },
101101 { tag: 'transfer', type: "com.canonical.indicator.transfer", objectName: "transferMenu" },
102+ { tag: 'buttonSection', type: "com.canonical.indicator.button-section", objectName: "buttonSectionMenu" },
102103
103104 { tag: 'messageItem', type: "com.canonical.indicator.messages.messageitem", objectName: "messageItem" },
104105 { tag: 'sourceItem', type: "com.canonical.indicator.messages.sourceitem", objectName: "groupedMessage" },
@@ -431,8 +432,12 @@ Item {
431432
432433 function test_create_transferMenu_data() {
433434 return [
434− {label: "testLabel1", enabled: true, active: true, icon: "file:///testIcon1", progress: 0.1 },
435− {label: "testLabel2", enabled: false, active: false, icon: "file:///testIcon2", progress: 0.5 },
435+ {tag: "queued", label: "testLabel1", enabled: true, active: true, icon: "file:///testIcon1", progress: 0, stateText: i18n.tr("In queue...") },
436+ {tag: "running", label: "testLabel2", enabled: true, active: true, icon: "file:///testIcon2", progress: 0.1, stateText: "1 minute, 40 seconds remaining" },
437+ {tag: "paused", label: "testLabel3", enabled: true, active: true, icon: "file:///testIcon3", progress: 0.5, stateText: i18n.tr("Paused, tap to resume") },
438+ {tag: "cancelled", label: "testLabel4", enabled: true, active: true, icon: "file:///testIcon4", progress: 0.4, stateText: i18n.tr("Canceled") },
439+ {tag: "finished", label: "testLabel5", enabled: false, active: false, icon: "file:///testIcon5", progress: 1.0, stateText: i18n.tr("Finished") },
440+ {tag: "error", label: "testLabel6", enabled: false, active: true, icon: "file:///testIcon6", progress: 0, stateText: i18n.tr("Failed, tap to retry") },
436441 ];
437442 }
438443
@@ -442,10 +447,8 @@ Item {
442447 menuData.sensitive = data.enabled;
443448 menuData.icon = data.icon;
444449 menuData.ext = {
445− 'xCanonicalActive': data.active,
446− 'maxValue': 1.0
450+ 'xCanonicalUid': data.tag
447451 };
448− menuData.actionState = data.progress;
449452
450453 loader.data = menuData;
451454 loader.sourceComponent = factory.load(menuData);
@@ -454,9 +457,37 @@ Item {
454457
455458 compare(loader.item.text, data.label, "Label does not match data");
456459 compare(loader.item.iconSource, data.icon, "Icon does not match data");
460+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
457461 compare(loader.item.progress, data.progress, "Icon does not match data");
458462 compare(loader.item.active, data.active, "Active does not match data");
463+ compare(loader.item.stateText, data.stateText, "State text does not match data");
464+ }
465+
466+ function test_create_buttonSectionMenu_data() {
467+ return [
468+ {label: "testLabel1", enabled: true, buttonText: "buttonLabel1", icon: "file:///testIcon1" },
469+ {label: "testLabel2", enabled: false, buttonText: "buttonLabel1", icon: "file:///testIcon2" },
470+ ];
471+ }
472+
473+ function test_create_buttonSectionMenu(data) {
474+ menuData.type = "com.canonical.indicator.button-section";
475+ menuData.label = data.label;
476+ menuData.sensitive = data.enabled;
477+ menuData.icon = data.icon;
478+ menuData.ext = {
479+ 'xCanonicalExtraLabel': data.buttonText
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, "buttonSectionMenu", "Should have created a transfer menu");
486+
487+ compare(loader.item.text, data.label, "Label does not match data");
488+ compare(loader.item.iconSource, data.icon, "Icon does not match data");
459489 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
490+ compare(loader.item.control.text, data.buttonText, "Button text does not match data");
460491 }
461492
462493 function test_create_wifiSection_data() {