Bug 1224990 - Untify SMSC Test Cases. r=edgar draft
authorBevis Tseng <btseng@mozilla.com>
Mon, 18 Jan 2016 16:18:25 +0800
changeset 322240 c9695a60dc53a978b2c2f8cf4d2c78e3cfe29f46
parent 320813 e790bba372f14241addda469a4bdb7ab00786ab3
child 513076 057fb33f036c88544ad924b4a0dd9d8085f0d502
push id9575
push userbtseng@mozilla.com
push dateMon, 18 Jan 2016 09:04:22 +0000
reviewersedgar
bugs1224990
milestone46.0a1
Bug 1224990 - Untify SMSC Test Cases. r=edgar
dom/mobilemessage/tests/marionette/manifest.ini
dom/mobilemessage/tests/marionette/test_set_smsc_address.js
dom/mobilemessage/tests/marionette/test_smsc_address.js
--- a/dom/mobilemessage/tests/marionette/manifest.ini
+++ b/dom/mobilemessage/tests/marionette/manifest.ini
@@ -47,10 +47,9 @@ qemu = true
 [test_replace_short_message_type.js]
 [test_mt_sms_concatenation.js]
 [test_error_of_mms_manual_retrieval.js]
 [test_error_of_mms_send.js]
 [test_error_of_sms_send.js]
 [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]
deleted file mode 100644
--- a/dom/mobilemessage/tests/marionette/test_set_smsc_address.js
+++ /dev/null
@@ -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"));
-});
--- a/dom/mobilemessage/tests/marionette/test_smsc_address.js
+++ b/dom/mobilemessage/tests/marionette/test_smsc_address.js
@@ -1,22 +1,69 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 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);
   is(smsc.typeOfAddress.typeOfNumber, expectedTon);
   is(smsc.typeOfAddress.numberPlanIdentification, 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"));
 });