dom/mobilemessage/tests/marionette/test_getmessage_notfound.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2  * http://creativecommons.org/publicdomain/zero/1.0/ */
     4 MARIONETTE_TIMEOUT = 60000;
     6 SpecialPowers.setBoolPref("dom.sms.enabled", true);
     7 SpecialPowers.addPermission("sms", true, document);
     9 let manager = window.navigator.mozMobileMessage;
    10 let myNumber = "15555215554";
    11 let inText = "Incoming SMS message. Mozilla Firefox OS!";
    12 let remoteNumber = "5559997777";
    13 let inSmsId = 0;
    15 function verifyInitialState() {
    16   log("Verifying initial state.");
    17   ok(manager instanceof MozMobileMessageManager,
    18      "manager is instance of " + manager.constructor);
    19   simulateIncomingSms();  
    20 }
    22 function simulateIncomingSms() {
    23   log("Simulating incoming SMS.");
    25   manager.onreceived = function onreceived(event) {
    26     log("Received 'onreceived' event.");
    27     let incomingSms = event.message;
    28     ok(incomingSms, "incoming sms");
    29     ok(incomingSms.id, "sms id");
    30     inSmsId = incomingSms.id;
    31     log("Received SMS (id: " + inSmsId + ").");
    32     is(incomingSms.body, inText, "msg body");
    33     is(incomingSms.delivery, "received", "delivery");
    34     getNonExistentMsg();
    35   };
    36   // Simulate incoming sms sent from remoteNumber to our emulator
    37   runEmulatorCmd("sms send " + remoteNumber + " " + inText, function(result) {
    38     is(result[0], "OK", "emulator output");
    39   });
    40 }
    42 function getNonExistentMsg() {
    43   let msgIdNoExist = inSmsId + 1;
    44   log("Attempting to get non-existent message (id: " + msgIdNoExist + ").");
    45   let requestRet = manager.getMessage(msgIdNoExist);
    46   ok(requestRet, "smsrequest obj returned");
    48   requestRet.onsuccess = function(event) {
    49     log("Received 'onsuccess' smsrequest event.");
    50     ok(event.target.result, "smsrequest event.target.result");
    51     let foundSms = event.target.result;
    52     log("Got SMS (id: " + foundSms.id + ") but should not have.");
    53     ok(false, "Smsrequest successful when tried to get non-existent sms");
    54     getMsgInvalidId();
    55   };
    57   requestRet.onerror = function(event) {
    58     log("Received 'onerror' smsrequest event.");
    59     ok(event.target.error, "domerror obj");
    60     is(event.target.error.name, "NotFoundError", "error returned");
    61     log("Could not get SMS (id: " + msgIdNoExist + ") as expected.");
    62     getMsgInvalidId();
    63   };
    64 }  
    66 function getMsgInvalidId() {
    67   invalidId = -1;
    68   log("Attempting to get sms with invalid id (id: " + invalidId + ").");
    69   let requestRet = manager.getMessage(invalidId);
    70   ok(requestRet, "smsrequest obj returned");
    72   requestRet.onsuccess = function(event) {
    73     log("Received 'onsuccess' smsrequest event.");
    74     ok(event.target.result, "smsrequest event.target.result");
    75     let foundSms = event.target.result;
    76     log("Got SMS (id: " + foundSms.id + ") but should not have.");
    77     ok(false, "Smsrequest successful when tried to get message with " +
    78     		"invalid id (id: " + invalidId + ").");
    79     deleteMsg();
    80   };
    82   requestRet.onerror = function(event) {
    83     log("Received 'onerror' smsrequest event.");
    84     ok(event.target.error, "domerror obj");
    85     is(event.target.error.name, "NotFoundError", "error returned");
    86     log("Could not get SMS (id: -1) as expected.");
    87     deleteMsg();
    88   };
    89 }
    91 function deleteMsg() {
    92   log("Deleting SMS (id: " + inSmsId + ").");
    93   let requestRet = manager.delete(inSmsId);
    94   ok(requestRet,"smsrequest obj returned");
    96   requestRet.onsuccess = function(event) {
    97     log("Received 'onsuccess' smsrequest event.");
    98     if(event.target.result){
    99       cleanUp();
   100     }
   101   };
   103   requestRet.onerror = function(event) {
   104     log("Received 'onerror' smsrequest event.");
   105     ok(event.target.error, "domerror obj");
   106     ok(false, "manager.delete request returned unexpected error: "
   107         + event.target.error.name );
   108     cleanUp();
   109   };
   110 }
   112 function cleanUp() {
   113   manager.onreceived = null;
   114   SpecialPowers.removePermission("sms", document);
   115   SpecialPowers.setBoolPref("dom.sms.enabled", false);
   116   finish();
   117 }
   119 // Start the test
   120 verifyInitialState();

mercurial