зеркало из https://github.com/mozilla/gecko-dev.git
Bug 973024 - 3/3: split test_ril_worker_mmi.js into several parts. r=yoshi
This commit is contained in:
Родитель
cba502b061
Коммит
f8a82ffac1
|
@ -7,19 +7,6 @@ function run_test() {
|
|||
run_next_test();
|
||||
}
|
||||
|
||||
function parseMMI(mmi) {
|
||||
let worker = newWorker({
|
||||
postRILMessage: function(data) {
|
||||
// Do nothing
|
||||
},
|
||||
postMessage: function(message) {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
return context.RIL._parseMMI(mmi);
|
||||
}
|
||||
|
||||
function testSendMMI(mmi, error) {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
|
@ -36,298 +23,6 @@ function testSendMMI(mmi, error) {
|
|||
do_check_eq(postedMessage.errorMsg, error);
|
||||
}
|
||||
|
||||
add_test(function test_parseMMI_empty() {
|
||||
let mmi = parseMMI("");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_undefined() {
|
||||
let mmi = parseMMI();
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_one_digit_short_code() {
|
||||
let mmi = parseMMI("1");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "1");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_invalid_short_code() {
|
||||
let mmi = parseMMI("11");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_short_code() {
|
||||
let mmi = parseMMI("21");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "21");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_dial_string() {
|
||||
let mmi = parseMMI("12345");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_USSD_without_asterisk_prefix() {
|
||||
let mmi = parseMMI("123#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "123#");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_USSD() {
|
||||
let mmi = parseMMI("*123#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia() {
|
||||
let mmi = parseMMI("*123*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sib() {
|
||||
let mmi = parseMMI("*123**1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123**1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sic() {
|
||||
let mmi = parseMMI("*123***1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123***1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia_sib() {
|
||||
let mmi = parseMMI("*123*1*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia_sic() {
|
||||
let mmi = parseMMI("*123*1**1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1**1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sib_sic() {
|
||||
let mmi = parseMMI("*123**1*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123**1*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_pwd() {
|
||||
let mmi = parseMMI("*123****1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123****1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "");
|
||||
do_check_eq(mmi.pwd, "1");
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_dial_number() {
|
||||
let mmi = parseMMI("*123#345");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "345");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* MMI procedures tests
|
||||
*/
|
||||
|
||||
add_test(function test_parseMMI_activation() {
|
||||
let mmi = parseMMI("*00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_deactivation() {
|
||||
let mmi = parseMMI("#00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "#00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_DEACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_interrogation() {
|
||||
let mmi = parseMMI("*#00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*#00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_INTERROGATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_registration() {
|
||||
let mmi = parseMMI("**00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "**00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_REGISTRATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_erasure() {
|
||||
let mmi = parseMMI("##00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "##00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ERASURE);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
/**
|
||||
* sendMMI tests.
|
||||
*/
|
||||
|
@ -383,149 +78,6 @@ add_test(function test_sendMMI_dial_string() {
|
|||
run_next_test();
|
||||
});
|
||||
|
||||
function setCallForwardSuccess(mmi) {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.RIL.setCallForward = function fakeSetCallForward(options) {
|
||||
context.RIL[REQUEST_SET_CALL_FORWARD](0, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: mmi});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_SUCCESS);
|
||||
do_check_true(postedMessage.success);
|
||||
}
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_activation() {
|
||||
setCallForwardSuccess("*21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_deactivation() {
|
||||
setCallForwardSuccess("#21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_interrogation() {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.Buf.readInt32 = function fakeReadUint32() {
|
||||
return context.Buf.int32Array.pop();
|
||||
};
|
||||
|
||||
context.Buf.readString = function fakeReadString() {
|
||||
return "+34666222333";
|
||||
};
|
||||
|
||||
context.RIL.queryCallForwardStatus = function fakeQueryCallForward(options) {
|
||||
context.Buf.int32Array = [
|
||||
0, // rules.timeSeconds
|
||||
145, // rules.toa
|
||||
49, // rules.serviceClass
|
||||
CALL_FORWARD_REASON_UNCONDITIONAL, // rules.reason
|
||||
1, // rules.active
|
||||
1 // rulesLength
|
||||
];
|
||||
context.RIL[REQUEST_QUERY_CALL_FORWARD_STATUS](1, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: "*#21#"});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_SUCCESS);
|
||||
do_check_true(postedMessage.success);
|
||||
do_check_true(Array.isArray(postedMessage.rules));
|
||||
do_check_eq(postedMessage.rules.length, 1);
|
||||
do_check_true(postedMessage.rules[0].active);
|
||||
do_check_eq(postedMessage.rules[0].reason, CALL_FORWARD_REASON_UNCONDITIONAL);
|
||||
do_check_eq(postedMessage.rules[0].number, "+34666222333");
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_interrogation_no_rules() {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.Buf.readInt32 = function fakeReadUint32() {
|
||||
return 0;
|
||||
};
|
||||
|
||||
context.RIL.queryCallForwardStatus = function fakeQueryCallForward(options) {
|
||||
context.RIL[REQUEST_QUERY_CALL_FORWARD_STATUS](1, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: "*#21#"});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_GENERIC_FAILURE);
|
||||
do_check_false(postedMessage.success);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_registration() {
|
||||
setCallForwardSuccess("**21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_erasure() {
|
||||
setCallForwardSuccess("##21*12345*99#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFB() {
|
||||
setCallForwardSuccess("*67*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFNRy() {
|
||||
setCallForwardSuccess("*61*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFNRc() {
|
||||
setCallForwardSuccess("*62*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFAll() {
|
||||
setCallForwardSuccess("*004*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFAllConditional() {
|
||||
setCallForwardSuccess("*002*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_change_PIN() {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
|
|
|
@ -0,0 +1,151 @@
|
|||
/* 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();
|
||||
}
|
||||
|
||||
function setCallForwardSuccess(mmi) {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.RIL.setCallForward = function fakeSetCallForward(options) {
|
||||
context.RIL[REQUEST_SET_CALL_FORWARD](0, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: mmi});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_SUCCESS);
|
||||
do_check_true(postedMessage.success);
|
||||
}
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_activation() {
|
||||
setCallForwardSuccess("*21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_deactivation() {
|
||||
setCallForwardSuccess("#21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_interrogation() {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.Buf.readInt32 = function fakeReadUint32() {
|
||||
return context.Buf.int32Array.pop();
|
||||
};
|
||||
|
||||
context.Buf.readString = function fakeReadString() {
|
||||
return "+34666222333";
|
||||
};
|
||||
|
||||
context.RIL.queryCallForwardStatus = function fakeQueryCallForward(options) {
|
||||
context.Buf.int32Array = [
|
||||
0, // rules.timeSeconds
|
||||
145, // rules.toa
|
||||
49, // rules.serviceClass
|
||||
CALL_FORWARD_REASON_UNCONDITIONAL, // rules.reason
|
||||
1, // rules.active
|
||||
1 // rulesLength
|
||||
];
|
||||
context.RIL[REQUEST_QUERY_CALL_FORWARD_STATUS](1, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: "*#21#"});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_SUCCESS);
|
||||
do_check_true(postedMessage.success);
|
||||
do_check_true(Array.isArray(postedMessage.rules));
|
||||
do_check_eq(postedMessage.rules.length, 1);
|
||||
do_check_true(postedMessage.rules[0].active);
|
||||
do_check_eq(postedMessage.rules[0].reason, CALL_FORWARD_REASON_UNCONDITIONAL);
|
||||
do_check_eq(postedMessage.rules[0].number, "+34666222333");
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_interrogation_no_rules() {
|
||||
let workerhelper = newInterceptWorker();
|
||||
let worker = workerhelper.worker;
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
|
||||
context.Buf.readInt32 = function fakeReadUint32() {
|
||||
return 0;
|
||||
};
|
||||
|
||||
context.RIL.queryCallForwardStatus = function fakeQueryCallForward(options) {
|
||||
context.RIL[REQUEST_QUERY_CALL_FORWARD_STATUS](1, {
|
||||
rilRequestError: ERROR_SUCCESS
|
||||
});
|
||||
};
|
||||
|
||||
context.RIL.radioState = GECKO_RADIOSTATE_READY;
|
||||
context.RIL.sendMMI({mmi: "*#21#"});
|
||||
|
||||
let postedMessage = workerhelper.postedMessage;
|
||||
|
||||
do_check_eq(postedMessage.errorMsg, GECKO_ERROR_GENERIC_FAILURE);
|
||||
do_check_false(postedMessage.success);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_registration() {
|
||||
setCallForwardSuccess("**21*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_erasure() {
|
||||
setCallForwardSuccess("##21*12345*99#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFB() {
|
||||
setCallForwardSuccess("*67*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFNRy() {
|
||||
setCallForwardSuccess("*61*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFNRc() {
|
||||
setCallForwardSuccess("*62*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFAll() {
|
||||
setCallForwardSuccess("*004*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_sendMMI_call_forwarding_CFAllConditional() {
|
||||
setCallForwardSuccess("*002*12345*99*10#");
|
||||
|
||||
run_next_test();
|
||||
});
|
|
@ -0,0 +1,317 @@
|
|||
/* 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();
|
||||
}
|
||||
|
||||
let worker;
|
||||
function parseMMI(mmi) {
|
||||
if (!worker) {
|
||||
worker = newWorker({
|
||||
postRILMessage: function(data) {
|
||||
// Do nothing
|
||||
},
|
||||
postMessage: function(message) {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let context = worker.ContextPool._contexts[0];
|
||||
return context.RIL._parseMMI(mmi);
|
||||
}
|
||||
|
||||
add_test(function test_parseMMI_empty() {
|
||||
let mmi = parseMMI("");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_undefined() {
|
||||
let mmi = parseMMI();
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_one_digit_short_code() {
|
||||
let mmi = parseMMI("1");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "1");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_invalid_short_code() {
|
||||
let mmi = parseMMI("11");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_short_code() {
|
||||
let mmi = parseMMI("21");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "21");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_dial_string() {
|
||||
let mmi = parseMMI("12345");
|
||||
|
||||
do_check_null(mmi);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_USSD_without_asterisk_prefix() {
|
||||
let mmi = parseMMI("123#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "123#");
|
||||
do_check_eq(mmi.procedure, undefined);
|
||||
do_check_eq(mmi.serviceCode, undefined);
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, undefined);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_USSD() {
|
||||
let mmi = parseMMI("*123#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia() {
|
||||
let mmi = parseMMI("*123*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sib() {
|
||||
let mmi = parseMMI("*123**1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123**1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sic() {
|
||||
let mmi = parseMMI("*123***1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123***1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia_sib() {
|
||||
let mmi = parseMMI("*123*1*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sia_sic() {
|
||||
let mmi = parseMMI("*123*1**1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123*1**1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "1");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_sib_sic() {
|
||||
let mmi = parseMMI("*123**1*1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123**1*1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "1");
|
||||
do_check_eq(mmi.sic, "1");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_pwd() {
|
||||
let mmi = parseMMI("*123****1#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123****1#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, "");
|
||||
do_check_eq(mmi.sib, "");
|
||||
do_check_eq(mmi.sic, "");
|
||||
do_check_eq(mmi.pwd, "1");
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_dial_number() {
|
||||
let mmi = parseMMI("*123#345");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*123#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "123");
|
||||
do_check_eq(mmi.sia, undefined);
|
||||
do_check_eq(mmi.sib, undefined);
|
||||
do_check_eq(mmi.sic, undefined);
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "345");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* MMI procedures tests
|
||||
*/
|
||||
|
||||
add_test(function test_parseMMI_activation() {
|
||||
let mmi = parseMMI("*00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_deactivation() {
|
||||
let mmi = parseMMI("#00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "#00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_DEACTIVATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_interrogation() {
|
||||
let mmi = parseMMI("*#00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "*#00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_INTERROGATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_registration() {
|
||||
let mmi = parseMMI("**00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "**00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_REGISTRATION);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
add_test(function test_parseMMI_erasure() {
|
||||
let mmi = parseMMI("##00*12*34*56#");
|
||||
|
||||
do_check_eq(mmi.fullMMI, "##00*12*34*56#");
|
||||
do_check_eq(mmi.procedure, MMI_PROCEDURE_ERASURE);
|
||||
do_check_eq(mmi.serviceCode, "00");
|
||||
do_check_eq(mmi.sia, "12");
|
||||
do_check_eq(mmi.sib, "34");
|
||||
do_check_eq(mmi.sic, "56");
|
||||
do_check_eq(mmi.pwd, undefined);
|
||||
do_check_eq(mmi.dialNumber, "");
|
||||
|
||||
run_next_test();
|
||||
});
|
|
@ -21,6 +21,8 @@ skip-if = true
|
|||
[test_ril_worker_sms_gsmpduhelper.js]
|
||||
[test_ril_worker_sms_segment_info.js]
|
||||
[test_ril_worker_mmi.js]
|
||||
[test_ril_worker_mmi_cf.js]
|
||||
[test_ril_worker_mmi_parseMMI.js]
|
||||
[test_ril_worker_cf.js]
|
||||
[test_ril_worker_cellbroadcast_config.js]
|
||||
[test_ril_worker_cellbroadcast.js]
|
||||
|
|
Загрузка…
Ссылка в новой задаче