Bug 1224990 - Untify SMSC Test Cases. r=edgar

--HG--
extra : transplant_source : %C9iZ%60%DCS%A9x%B2%C2%F8%CFM%2Cx%E3%CF%E2%9FF
This commit is contained in:
Bevis Tseng 2016-01-18 16:18:25 +08:00
parent 1857b6a21a
commit b8eae9f53f
3 changed files with 52 additions and 72 deletions

View File

@ -52,5 +52,4 @@ qemu = true
[test_ondeleted_event.js]
[test_decode_spanish_fallback.js]
[test_update_gsm_nl_on_mcc_chanages.js]
[test_set_smsc_address.js]
[test_outgoing_unstable_voice_connection.js]

View File

@ -1,66 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
MARIONETTE_TIMEOUT = 60000;
MARIONETTE_HEAD_JS = 'head.js';
const SMSC_ATT = '+13123149810';
const SMSC_ATT_TYPO = '+++1312@@@314$$$9,8,1,0';
const SMSC_ATT_TEXT = '"+13123149810",145';
const SMSC_O2 = '+447802000332';
const SMSC_O2_TEXT = '"+447802000332",145';
const SMSC_DEF = '+123456789';
const SMSC_DEF_TEXT = '"+123456789",145';
const SMSC_TON_UNKNOWN = '0407485455'
const SMSC_TON_UNKNOWN_TEXT = '"0407485455",129';
function verifySmscAddress(smsc, expectedAddr, expectedTon, expectedNpi) {
is(smsc.address, expectedAddr);
is(smsc.typeOfAddress.typeOfNumber, expectedTon);
is(smsc.typeOfAddress.numberPlanIdentification, expectedNpi);
}
startTestCommon(function testCaseMain() {
return Promise.resolve()
// Verify setting AT&T SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_ATT }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_ATT, "international", "isdn"))
// Verify setting O2 SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_O2 }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_O2, "international", "isdn"))
// Verify setting AT&T SMSC address with extra illegal characters.
.then(() => manager.setSmscAddress({ address:SMSC_ATT_TYPO }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_ATT, "international", "isdn"))
// Verify setting a SMSC address with TON=unknown.
.then(() => manager.setSmscAddress({ address:SMSC_TON_UNKNOWN }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_TON_UNKNOWN, "unknown", "isdn"))
// Verify setting invalid SMSC address.
.then(() => manager.setSmscAddress({}))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
.then(() => manager.setSmscAddress({ address:"" }))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
.then(() => manager.setSmscAddress({ address:"???" }))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
// Restore to default emulator SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_DEF }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_DEF, "international", "isdn"));
});

View File

@ -4,10 +4,15 @@
MARIONETTE_TIMEOUT = 60000;
MARIONETTE_HEAD_JS = 'head.js';
// Expected SMSC addresses of emulator
const SMSC = "+123456789";
const TON = "international";
const NPI = "isdn";
const SMSC_ATT = '+13123149810';
const SMSC_ATT_TYPO = '+++1312@@@314$$$9,8,1,0';
const SMSC_ATT_TEXT = '"+13123149810",145';
const SMSC_O2 = '+447802000332';
const SMSC_O2_TEXT = '"+447802000332",145';
const SMSC_DEF = '+123456789';
const SMSC_DEF_TEXT = '"+123456789",145';
const SMSC_TON_UNKNOWN = '0407485455'
const SMSC_TON_UNKNOWN_TEXT = '"0407485455",129';
function verifySmscAddress(smsc, expectedAddr, expectedTon, expectedNpi) {
is(smsc.address, expectedAddr);
@ -17,6 +22,48 @@ function verifySmscAddress(smsc, expectedAddr, expectedTon, expectedNpi) {
startTestCommon(function testCaseMain() {
return Promise.resolve()
// Bug 1224990, initialization of SMSC in emulator NV item is unstable.
// Verify Getter after Setter to prevent intermittent failure.
// Verify setting AT&T SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_ATT }))
.then(() => manager.getSmscAddress())
.then((result) => verifySmscAddress(result, SMSC, TON, NPI));
.then((result) =>
verifySmscAddress(result, SMSC_ATT, "international", "isdn"))
// Verify setting O2 SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_O2 }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_O2, "international", "isdn"))
// Verify setting AT&T SMSC address with extra illegal characters.
.then(() => manager.setSmscAddress({ address:SMSC_ATT_TYPO }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_ATT, "international", "isdn"))
// Verify setting a SMSC address with TON=unknown.
.then(() => manager.setSmscAddress({ address:SMSC_TON_UNKNOWN }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_TON_UNKNOWN, "unknown", "isdn"))
// Verify setting invalid SMSC address.
.then(() => manager.setSmscAddress({}))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
.then(() => manager.setSmscAddress({ address:"" }))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
.then(() => manager.setSmscAddress({ address:"???" }))
.then(() => Promise.reject("Expect for an error."),
(err) => log("Got expected error: " + err))
// Restore to default emulator SMSC address.
.then(() => manager.setSmscAddress({ address:SMSC_DEF }))
.then(() => manager.getSmscAddress())
.then((result) =>
verifySmscAddress(result, SMSC_DEF, "international", "isdn"));
});