mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-07-06 03:29:01 +00:00
53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
MARIONETTE_TIMEOUT = 60000;
|
|
MARIONETTE_HEAD_JS = 'head.js';
|
|
|
|
const PDU_SMSC_NONE = "00"; // no SMSC Address
|
|
|
|
// | TP-RP|TP-UDHI| TP-SRI| Unused | TP-MMS| TP-MTI |
|
|
// | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | => 0x40
|
|
const PDU_FIRST_OCTET = "40";
|
|
|
|
// | | <= TON => | <=== NOI ===> |
|
|
// | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | => 0xa8
|
|
const PDU_OA = "0AA89021436587"; // 0912345678
|
|
|
|
const PDU_PID_NORMAL = "00";
|
|
const PDU_DCS_GSM_7BIT = "00";
|
|
const PDU_TIMESTAMP = "51302151740020"; // 2015/3/12 15:47:00 UTC+8
|
|
|
|
// ==> | <========== G ==========> |
|
|
// | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | => 0xc7
|
|
// ======> | <========== S =========
|
|
// | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | => 0x69
|
|
// |<=padding=>| <========== M =====
|
|
// | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | => 0x13
|
|
const PDU_UD_GSM = "C76913";
|
|
|
|
const IE_USE_SPANISH_LOCKING_SHIFT_TABLE = "250102";
|
|
const IE_USE_SPANISH_SINGLE_SHIFT_TABLE = "240102";
|
|
const PDU_UDHL = "06";
|
|
|
|
const PDU_UDL = "0B"; // UDH occupies 7 octets = 8 septets, plus 3 septets data.
|
|
|
|
const PDU = PDU_SMSC_NONE + PDU_FIRST_OCTET + PDU_OA + PDU_PID_NORMAL
|
|
+ PDU_DCS_GSM_7BIT + PDU_TIMESTAMP + PDU_UDL + PDU_UDHL
|
|
+ IE_USE_SPANISH_LOCKING_SHIFT_TABLE + IE_USE_SPANISH_SINGLE_SHIFT_TABLE
|
|
+ PDU_UD_GSM;
|
|
|
|
function verifyMessage(aMessage) {
|
|
is(aMessage.body, "GSM", "SmsMessage body");
|
|
}
|
|
|
|
/**
|
|
* Test and verify that user data encoded in GSM default alphabet can be
|
|
* correctly decoded with Spanish locking shift table. See bug 1138841.
|
|
*/
|
|
startTestCommon(function testCaseMain() {
|
|
return Promise.resolve()
|
|
.then(() => sendMultipleRawSmsToEmulatorAndWait([PDU]))
|
|
.then(results => verifyMessage(results[0].message));
|
|
});
|