@@ -109,6 +109,7 @@ Item {
109109
110110 { tag: 'wifisection', type: "unity.widgets.systemsettings.tablet.wifisection", objectName: "wifiSection" },
111111 { tag: 'accesspoint', type: "unity.widgets.systemsettings.tablet.accesspoint", objectName: "accessPoint" },
112+ { tag: 'modeminfoitem', type: "com.canonical.indicator.network.modeminfoitem", objectName: "modemInfoItem" },
112113
113114 { tag: 'unknown', type: "", objectName: "standardMenu"}
114115 ];
@@ -479,6 +480,50 @@ Item {
479480 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
480481 }
481482
483+ function test_create_modemInfoItem_data() {
484+ // ModemInfoItem gets all it's data through the actions.
485+ return [
486+ {label: "",
487+ enabled: true,
488+ checked: false,
489+ statusLabelAction: "action::statusLabel",
490+ statusIconAction: "action::statusIcon",
491+ connectivityIconAction: "action::connectivityIcon",
492+ simIdentifierLabelAction: "action::simIdentifierLabel",
493+ roamingAction: "action::roaming",
494+ unlockAction: "action::unlock"}
495+ ];
496+ }
497+
498+ function test_create_modemInfoItem(data) {
499+ menuData.type = "com.canonical.indicator.network.modeminfoitem";
500+ menuData.label = data.label;
501+ menuData.sensitive = data.enabled;
502+ menuData.isToggled = data.checked;
503+ menuData.ext = {
504+ 'xCanonicalModemStatusLabelAction': "action::statusLabel",
505+ 'xCanonicalModemStatusIconAction': "action::statusIcon",
506+ 'xCanonicalModemConnectivityIconAction': "action::connectivityIcon",
507+ 'xCanonicalModemSimIdentifierLabelAction': "action::simIdentifierLabel",
508+ 'xCanonicalModemRoamingAction': "action::roaming",
509+ 'xCanonicalModemLockedAction': 'action::unlock',
510+ };
511+
512+ loader.data = menuData;
513+ loader.sourceComponent = factory.load(menuData);
514+ tryCompareFunction(function() { return loader.item != undefined; }, true);
515+ compare(loader.item.objectName, "modemInfoItem", "Should have created a modem info item.");
516+ compare(loader.item.text, data.label, "Label does not match data");
517+
518+ compare(loader.item.statusLabelAction.name, "action::statusLabel", "StatusLabel action incorrect");
519+ compare(loader.item.statusIconAction.name, "action::statusIcon", "StatusIcon action incorrect");
520+ compare(loader.item.connectivityIconAction.name, "action::connectivityIcon", "ConnectivityIcon action incorrect");
521+ compare(loader.item.simIdentifierLabelAction.name, "action::simIdentifierLabel", " action incorrect");
522+ compare(loader.item.roamingAction.name, "action::roaming", "Roaming action incorrect");
523+ compare(loader.item.unlockAction.name, "action::unlock", "Unlock action incorrect");
524+ compare(loader.item.enabled, data.enabled, "Enabled does not match data");
525+ }
526+
482527 function test_create_messageItem() {
483528 menuData.type = "com.canonical.indicator.messages.messageitem";
484529