tenfourfox/dom/icc/tests/marionette/test_icc_access_invalid_object.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

102 lines
2.7 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
MARIONETTE_TIMEOUT = 30000;
MARIONETTE_HEAD_JS = "head.js";
function testInvalidIccObject(aIcc) {
// Test access iccInfo.
try {
is(aIcc.iccInfo, null, "iccInfo: expect to get null");
} catch(e) {
ok(false, "access iccInfo should not get exception");
}
// Test access cardState.
try {
is(aIcc.cardState, null, "cardState: expect to get null");
} catch(e) {
ok(false, "access cardState should not get exception");
}
// Test STK related function.
try {
aIcc.sendStkResponse({}, {});
ok(false, "sendStkResponse() should get exception");
} catch(e) {}
try {
aIcc.sendStkMenuSelection(0, false);
ok(false, "sendStkMenuSelection() should get exception");
} catch(e) {}
try {
aIcc.sendStkTimerExpiration({});
ok(false, "sendStkTimerExpiration() should get exception");
} catch(e) {}
try {
aIcc.sendStkEventDownload({});
ok(false, "sendStkEventDownload() should get exception");
} catch(e) {}
// Test card lock related function.
try {
aIcc.getCardLock("pin");
ok(false, "getCardLock() should get exception");
} catch(e) {}
try {
aIcc.unlockCardLock({});
ok(false, "unlockCardLock() should get exception");
} catch(e) {}
try {
aIcc.setCardLock({});
ok(false, "setCardLock() should get exception");
} catch(e) {}
try {
aIcc.getCardLockRetryCount("pin");
ok(false, "getCardLockRetryCount() should get exception");
} catch(e) {}
// Test contact related function.
try {
aIcc.readContacts("adn");
ok(false, "readContacts() should get exception");
} catch(e) {}
try {
aIcc.updateContact("adn", {});
ok(false, "updateContact() should get exception");
} catch(e) {}
// Test mvno function.
try {
aIcc.matchMvno("imsi");
ok(false, "matchMvno() should get exception");
} catch(e) {}
// Test service state function.
return aIcc.getServiceState("fdn").then(() => {
ok(false, "getServiceState() should be rejected");
}, () => {});
}
// Start tests
startTestCommon(function() {
let icc = getMozIcc();
return Promise.resolve()
// Turn off radio.
.then(() => {
let promises = [];
promises.push(setRadioEnabled(false));
promises.push(waitForTargetEvent(iccManager, "iccundetected"));
return Promise.all(promises);
})
// Test accessing invalid icc object.
.then(() => testInvalidIccObject(icc))
// We should restore the radio status.
.then(() => {
let promises = [];
promises.push(setRadioEnabled(true));
promises.push(waitForTargetEvent(iccManager, "iccdetected"));
return Promise.all(promises);
});
});