diff options
Diffstat (limited to 'dom/system/gonk/tests/test_ril_worker_icc_ICCUtilsHelper.js')
-rw-r--r-- | dom/system/gonk/tests/test_ril_worker_icc_ICCUtilsHelper.js | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/dom/system/gonk/tests/test_ril_worker_icc_ICCUtilsHelper.js b/dom/system/gonk/tests/test_ril_worker_icc_ICCUtilsHelper.js deleted file mode 100644 index b23d0b598..000000000 --- a/dom/system/gonk/tests/test_ril_worker_icc_ICCUtilsHelper.js +++ /dev/null @@ -1,326 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -subscriptLoader.loadSubScript("resource://gre/modules/ril_consts.js", this); - -function run_test() { - run_next_test(); -} - -/** - * Verify ICCUtilsHelper.isICCServiceAvailable. - */ -add_test(function test_is_icc_service_available() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let ICCUtilsHelper = context.ICCUtilsHelper; - let RIL = context.RIL; - - function test_table(sst, geckoService, simEnabled, usimEnabled) { - RIL.iccInfoPrivate.sst = sst; - RIL.appType = CARD_APPTYPE_SIM; - equal(ICCUtilsHelper.isICCServiceAvailable(geckoService), simEnabled); - RIL.appType = CARD_APPTYPE_USIM; - equal(ICCUtilsHelper.isICCServiceAvailable(geckoService), usimEnabled); - } - - test_table([0x08], "ADN", true, false); - test_table([0x08], "FDN", false, false); - test_table([0x08], "SDN", false, true); - - run_next_test(); -}); - -/** - * Verify ICCUtilsHelper.isGsm8BitAlphabet - */ -add_test(function test_is_gsm_8bit_alphabet() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let ICCUtilsHelper = context.ICCUtilsHelper; - const langTable = PDU_NL_LOCKING_SHIFT_TABLES[PDU_NL_IDENTIFIER_DEFAULT]; - const langShiftTable = PDU_NL_SINGLE_SHIFT_TABLES[PDU_NL_IDENTIFIER_DEFAULT]; - - equal(ICCUtilsHelper.isGsm8BitAlphabet(langTable), true); - equal(ICCUtilsHelper.isGsm8BitAlphabet(langShiftTable), true); - equal(ICCUtilsHelper.isGsm8BitAlphabet("\uaaaa"), false); - - run_next_test(); -}); - -/** - * Verify ICCUtilsHelper.parsePbrTlvs - */ -add_test(function test_parse_pbr_tlvs() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let buf = context.Buf; - - let pbrTlvs = [ - {tag: ICC_USIM_TYPE1_TAG, - length: 0x0F, - value: [{tag: ICC_USIM_EFADN_TAG, - length: 0x03, - value: [0x4F, 0x3A, 0x02]}, - {tag: ICC_USIM_EFIAP_TAG, - length: 0x03, - value: [0x4F, 0x25, 0x01]}, - {tag: ICC_USIM_EFPBC_TAG, - length: 0x03, - value: [0x4F, 0x09, 0x04]}] - }, - {tag: ICC_USIM_TYPE2_TAG, - length: 0x05, - value: [{tag: ICC_USIM_EFEMAIL_TAG, - length: 0x03, - value: [0x4F, 0x50, 0x0B]}, - {tag: ICC_USIM_EFANR_TAG, - length: 0x03, - value: [0x4F, 0x11, 0x02]}, - {tag: ICC_USIM_EFANR_TAG, - length: 0x03, - value: [0x4F, 0x12, 0x03]}] - }, - {tag: ICC_USIM_TYPE3_TAG, - length: 0x0A, - value: [{tag: ICC_USIM_EFCCP1_TAG, - length: 0x03, - value: [0x4F, 0x3D, 0x0A]}, - {tag: ICC_USIM_EFEXT1_TAG, - length: 0x03, - value: [0x4F, 0x4A, 0x03]}] - }, - ]; - - let pbr = context.ICCUtilsHelper.parsePbrTlvs(pbrTlvs); - equal(pbr.adn.fileId, 0x4F3a); - equal(pbr.iap.fileId, 0x4F25); - equal(pbr.pbc.fileId, 0x4F09); - equal(pbr.email.fileId, 0x4F50); - equal(pbr.anr0.fileId, 0x4f11); - equal(pbr.anr1.fileId, 0x4f12); - equal(pbr.ccp1.fileId, 0x4F3D); - equal(pbr.ext1.fileId, 0x4F4A); - - run_next_test(); -}); - -/** - * Verify MCC and MNC parsing - */ -add_test(function test_mcc_mnc_parsing() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let helper = context.ICCUtilsHelper; - - function do_test(imsi, mncLength, expectedMcc, expectedMnc) { - let result = helper.parseMccMncFromImsi(imsi, mncLength); - - if (!imsi) { - equal(result, null); - return; - } - - equal(result.mcc, expectedMcc); - equal(result.mnc, expectedMnc); - } - - // Test the imsi is null. - do_test(null, null, null, null); - - // Test MCC is Taiwan - do_test("466923202422409", 0x02, "466", "92"); - do_test("466923202422409", 0x03, "466", "923"); - do_test("466923202422409", null, "466", "92"); - - // Test MCC is US - do_test("310260542718417", 0x02, "310", "26"); - do_test("310260542718417", 0x03, "310", "260"); - do_test("310260542718417", null, "310", "260"); - - run_next_test(); -}); - -add_test(function test_get_network_name_from_icc() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let RIL = context.RIL; - let ICCUtilsHelper = context.ICCUtilsHelper; - - function testGetNetworkNameFromICC(operatorData, expectedResult) { - let result = ICCUtilsHelper.getNetworkNameFromICC(operatorData.mcc, - operatorData.mnc, - operatorData.lac); - - if (expectedResult == null) { - equal(result, expectedResult); - } else { - equal(result.fullName, expectedResult.longName); - equal(result.shortName, expectedResult.shortName); - } - } - - // Before EF_OPL and EF_PNN have been loaded. - testGetNetworkNameFromICC({mcc: "123", mnc: "456", lac: 0x1000}, null); - testGetNetworkNameFromICC({mcc: "321", mnc: "654", lac: 0x2000}, null); - - // Set HPLMN - RIL.iccInfo.mcc = "123"; - RIL.iccInfo.mnc = "456"; - - RIL.voiceRegistrationState = { - cell: { - gsmLocationAreaCode: 0x1000 - } - }; - RIL.operator = {}; - - // Set EF_PNN - RIL.iccInfoPrivate = { - PNN: [ - {"fullName": "PNN1Long", "shortName": "PNN1Short"}, - {"fullName": "PNN2Long", "shortName": "PNN2Short"}, - {"fullName": "PNN3Long", "shortName": "PNN3Short"}, - {"fullName": "PNN4Long", "shortName": "PNN4Short"}, - {"fullName": "PNN5Long", "shortName": "PNN5Short"}, - {"fullName": "PNN6Long", "shortName": "PNN6Short"}, - {"fullName": "PNN7Long", "shortName": "PNN7Short"}, - {"fullName": "PNN8Long", "shortName": "PNN8Short"} - ] - }; - - // EF_OPL isn't available - ICCUtilsHelper.isICCServiceAvailable = function fakeIsICCServiceAvailable(service) { - return false; - }; - - // EF_OPL isn't available and current isn't in HPLMN, - testGetNetworkNameFromICC({mcc: "321", mnc: "654", lac: 0x1000}, null); - - // EF_OPL isn't available and current is in HPLMN, - // the first record of PNN should be returned. - testGetNetworkNameFromICC({mcc: "123", mnc: "456", lac: 0x1000}, - {longName: "PNN1Long", shortName: "PNN1Short"}); - - // EF_OPL is available - ICCUtilsHelper.isICCServiceAvailable = function fakeIsICCServiceAvailable(service) { - return service === "OPL"; - }; - - // Set EF_OPL - RIL.iccInfoPrivate.OPL = [ - { - "mcc": "123", - "mnc": "456", - "lacTacStart": 0, - "lacTacEnd": 0xFFFE, - "pnnRecordId": 4 - }, - { - "mcc": "321", - "mnc": "654", - "lacTacStart": 0, - "lacTacEnd": 0x0010, - "pnnRecordId": 3 - }, - { - "mcc": "321", - "mnc": "654", - "lacTacStart": 0x0100, - "lacTacEnd": 0x1010, - "pnnRecordId": 2 - }, - { - "mcc": ";;;", - "mnc": "01", - "lacTacStart": 0, - "lacTacEnd": 0xFFFE, - "pnnRecordId": 5 - }, - { - "mcc": "00;", - "mnc": "02", - "lacTacStart": 0, - "lacTacEnd": 0xFFFE, - "pnnRecordId": 6 - }, - { - "mcc": "001", - "mnc": ";;", - "lacTacStart": 0, - "lacTacEnd": 0xFFFE, - "pnnRecordId": 7 - }, - { - "mcc": "002", - "mnc": "0;", - "lacTacStart": 0, - "lacTacEnd": 0xFFFE, - "pnnRecordId": 8 - } - ]; - - // Both EF_PNN and EF_OPL are presented, and current PLMN is HPLMN, - testGetNetworkNameFromICC({mcc: "123", mnc: "456", lac: 0x1000}, - {longName: "PNN4Long", shortName: "PNN4Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the second PNN record. - testGetNetworkNameFromICC({mcc: "321", mnc: "654", lac: 0x1000}, - {longName: "PNN2Long", shortName: "PNN2Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the thrid PNN record. - testGetNetworkNameFromICC({mcc: "321", mnc: "654", lac: 0x0001}, - {longName: "PNN3Long", shortName: "PNN3Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the 5th PNN record after wild char (ie: ';') handling. - testGetNetworkNameFromICC({mcc: "001", mnc: "01", lac: 0x0001}, - {longName: "PNN5Long", shortName: "PNN5Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the 6th PNN record after wild char (ie: ';') handling. - testGetNetworkNameFromICC({mcc: "001", mnc: "02", lac: 0x0001}, - {longName: "PNN6Long", shortName: "PNN6Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the 7th PNN record after wild char (ie: ';') handling. - testGetNetworkNameFromICC({mcc: "001", mnc: "03", lac: 0x0001}, - {longName: "PNN7Long", shortName: "PNN7Short"}); - - // Current PLMN is not HPLMN, and according to LAC, we should get - // the 8th PNN record after wild char (ie: ';') handling. - testGetNetworkNameFromICC({mcc: "002", mnc: "03", lac: 0x0001}, - {longName: "PNN8Long", shortName: "PNN8Short"}); - - run_next_test(); -}); - -/** - * Verify ICCUtilsHelper.isCphsServiceAvailable. - */ -add_test(function test_is_cphs_service_available() { - let worker = newUint8Worker(); - let context = worker.ContextPool._contexts[0]; - let ICCUtilsHelper = context.ICCUtilsHelper; - let RIL = context.RIL; - RIL.iccInfoPrivate.cphsSt = new Uint8Array(2); - - function test_table(cphsSt, geckoService) { - RIL.iccInfoPrivate.cphsSt.set(cphsSt); - - for (let service in GECKO_ICC_SERVICES.cphs) { - equal(ICCUtilsHelper.isCphsServiceAvailable(service), - geckoService == service); - } - } - - test_table([0x03, 0x00], "CSP"); - test_table([0x0C, 0x00], "SST"); - test_table([0x30, 0x00], "MBN"); - test_table([0xC0, 0x00], "ONSF"); - test_table([0x00, 0x03], "INFO_NUM"); - - run_next_test(); -}); |