зеркало из https://github.com/mozilla/gecko-dev.git
Bug 882985 - 0002. Test case for CDMA information record decoder. r=vicamo
This commit is contained in:
Родитель
af3c11d608
Коммит
75da4fb1b8
|
@ -0,0 +1,119 @@
|
||||||
|
/* 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();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function.
|
||||||
|
*/
|
||||||
|
function newWorkerWithParcel(parcelBuf) {
|
||||||
|
let worker = newWorker({
|
||||||
|
postRILMessage: function fakePostRILMessage(data) {
|
||||||
|
// Do nothing
|
||||||
|
},
|
||||||
|
postMessage: function fakePostMessage(message) {
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let index = 0; // index for read
|
||||||
|
let buf = parcelBuf;
|
||||||
|
|
||||||
|
worker.Buf.readUint8 = function () {
|
||||||
|
return buf[index++];
|
||||||
|
};
|
||||||
|
|
||||||
|
worker.Buf.readUint16 = function () {
|
||||||
|
return buf[index++];
|
||||||
|
};
|
||||||
|
|
||||||
|
worker.Buf.readUint32 = function () {
|
||||||
|
return buf[index++];
|
||||||
|
};
|
||||||
|
|
||||||
|
return worker;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test CDMA information record decoder.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify decoder for type DISPLAY
|
||||||
|
*/
|
||||||
|
add_test(function test_display() {
|
||||||
|
let worker = newWorkerWithParcel([
|
||||||
|
0x01, // one inforemation record
|
||||||
|
0x00, // type: display
|
||||||
|
0x09, // length: 9
|
||||||
|
0x54, 0x65, 0x73, 0x74, 0x20, 0x49, 0x6E, 0x66,
|
||||||
|
0x6F, 0x00]);
|
||||||
|
let helper = worker.CdmaPDUHelper;
|
||||||
|
let record = helper.decodeInformationRecord();
|
||||||
|
|
||||||
|
do_check_eq(record.display, "Test Info");
|
||||||
|
|
||||||
|
run_next_test();
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify decoder for type EXTENDED DISPLAY
|
||||||
|
*/
|
||||||
|
add_test(function test_extended_display() {
|
||||||
|
let worker = newWorkerWithParcel([
|
||||||
|
0x01, // one inforemation record
|
||||||
|
0x07, // type: extended display
|
||||||
|
0x0E, // length: 14
|
||||||
|
0x80, // header byte
|
||||||
|
0x80, // Blank
|
||||||
|
0x81, // Skip
|
||||||
|
0x9B, // Text
|
||||||
|
0x09, 0x54, 0x65, 0x73, 0x74, 0x20, 0x49, 0x6E,
|
||||||
|
0x66, 0x6F, 0x00]);
|
||||||
|
let helper = worker.CdmaPDUHelper;
|
||||||
|
let record = helper.decodeInformationRecord();
|
||||||
|
|
||||||
|
do_check_eq(record.extendedDisplay.indicator, 1);
|
||||||
|
do_check_eq(record.extendedDisplay.type, 0);
|
||||||
|
do_check_eq(record.extendedDisplay.records.length, 3);
|
||||||
|
do_check_eq(record.extendedDisplay.records[0].tag, 0x80);
|
||||||
|
do_check_eq(record.extendedDisplay.records[1].tag, 0x81);
|
||||||
|
do_check_eq(record.extendedDisplay.records[2].tag, 0x9B);
|
||||||
|
do_check_eq(record.extendedDisplay.records[2].content, "Test Info");
|
||||||
|
|
||||||
|
run_next_test();
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* Verify decoder for mixed type
|
||||||
|
*/
|
||||||
|
add_test(function test_mixed() {
|
||||||
|
let worker = newWorkerWithParcel([
|
||||||
|
0x02, // two inforemation record
|
||||||
|
0x00, // type: display
|
||||||
|
0x09, // length: 9
|
||||||
|
0x54, 0x65, 0x73, 0x74, 0x20, 0x49, 0x6E, 0x66,
|
||||||
|
0x6F, 0x00,
|
||||||
|
0x07, // type: extended display
|
||||||
|
0x0E, // length: 14
|
||||||
|
0x80, // header byte
|
||||||
|
0x80, // Blank
|
||||||
|
0x81, // Skip
|
||||||
|
0x9B, // Text
|
||||||
|
0x09, 0x54, 0x65, 0x73, 0x74, 0x20, 0x49, 0x6E,
|
||||||
|
0x66, 0x6F, 0x00]);
|
||||||
|
let helper = worker.CdmaPDUHelper;
|
||||||
|
let record = helper.decodeInformationRecord();
|
||||||
|
|
||||||
|
do_check_eq(record.display, "Test Info");
|
||||||
|
do_check_eq(record.extendedDisplay.indicator, 1);
|
||||||
|
do_check_eq(record.extendedDisplay.type, 0);
|
||||||
|
do_check_eq(record.extendedDisplay.records.length, 3);
|
||||||
|
do_check_eq(record.extendedDisplay.records[0].tag, 0x80);
|
||||||
|
do_check_eq(record.extendedDisplay.records[1].tag, 0x81);
|
||||||
|
do_check_eq(record.extendedDisplay.records[2].tag, 0x9B);
|
||||||
|
do_check_eq(record.extendedDisplay.records[2].content, "Test Info");
|
||||||
|
|
||||||
|
run_next_test();
|
||||||
|
});
|
|
@ -18,3 +18,4 @@ tail =
|
||||||
[test_ril_worker_ecm.js]
|
[test_ril_worker_ecm.js]
|
||||||
[test_ril_worker_stk.js]
|
[test_ril_worker_stk.js]
|
||||||
[test_ril_worker_barring_password.js]
|
[test_ril_worker_barring_password.js]
|
||||||
|
[test_ril_worker_cdma_info_rec.js]
|
||||||
|
|
Загрузка…
Ссылка в новой задаче