dom/icc/tests/marionette/test_icc_card_state.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 MARIONETTE_TIMEOUT = 30000;
     5 MARIONETTE_HEAD_JS = "icc_header.js";
     7 function setRadioEnabled(enabled) {
     8   let connection = navigator.mozMobileConnections[0];
     9   ok(connection);
    11   let request  = connection.setRadioEnabled(enabled);
    13   request.onsuccess = function onsuccess() {
    14     log('setRadioEnabled: ' + enabled);
    15   };
    17   request.onerror = function onerror() {
    18     ok(false, "setRadioEnabled should be ok");
    19   };
    20 }
    22 /* Basic test */
    23 taskHelper.push(function basicTest() {
    24   is(icc.cardState, "ready", "card state is " + icc.cardState);
    25   taskHelper.runNext();
    26 });
    28 /* Test cardstatechange event by switching radio off */
    29 taskHelper.push(function testCardStateChange() {
    30   // Turn off radio.
    31   setRadioEnabled(false);
    32   icc.addEventListener("cardstatechange", function oncardstatechange() {
    33     log("card state changes to " + icc.cardState);
    34     // Expect to get card state changing to null.
    35     if (icc.cardState === null) {
    36       icc.removeEventListener("cardstatechange", oncardstatechange);
    37       // We should restore radio status and expect to get iccdetected event.
    38       setRadioEnabled(true);
    39       iccManager.addEventListener("iccdetected", function oniccdetected(evt) {
    40         log("icc iccdetected: " + evt.iccId);
    41         iccManager.removeEventListener("iccdetected", oniccdetected);
    42         taskHelper.runNext();
    43       });
    44     }
    45   });
    46 });
    48 // Start test
    49 taskHelper.runNext();

mercurial