dom/system/gonk/tests/marionette/test_network_active_changed.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 = 60000;
     5 MARIONETTE_HEAD_JS = "head.js";
     7 const SETTINGS_KEY_DATA_ENABLED = "ril.data.enabled";
     8 const TOPIC_NETWORK_ACTIVE_CHANGED = "network-active-changed";
    10 let networkManager =
    11   Cc["@mozilla.org/network/manager;1"].getService(Ci.nsINetworkManager);
    12 ok(networkManager,
    13    "networkManager.constructor is " + networkManager.constructor);
    15 function testInitialState() {
    16   return Promise.resolve()
    17     .then(() => getSettings(SETTINGS_KEY_DATA_ENABLED))
    18     .then((enabled) => {
    19       is(enabled, false, "data should be off by default");
    20       is(networkManager.active, null,
    21          "networkManager.active should be null by default");
    22     });
    23 }
    25 function testActiveNetworkChangedBySwitchingDataCall(aDataCallEnabled) {
    26   log("Test active network by switching dataCallEnabled to " + aDataCallEnabled);
    28   return Promise.resolve()
    29     .then(() => setSettings(SETTINGS_KEY_DATA_ENABLED, aDataCallEnabled))
    30     .then(() => waitForObserverEvent(TOPIC_NETWORK_ACTIVE_CHANGED))
    31     .then((subject) => {
    32       if (aDataCallEnabled) {
    33         ok(subject instanceof Ci.nsINetworkInterface,
    34            "subject should be an instance of nsINetworkInterface");
    35         ok(subject instanceof Ci.nsIRilNetworkInterface,
    36            "subject should be an instance of nsIRILNetworkInterface");
    37         is(subject.type, Ci.nsINetworkInterface.NETWORK_TYPE_MOBILE,
    38            "subject.type should be NETWORK_TYPE_MOBILE");
    39       }
    41       is(subject, networkManager.active,
    42          "subject should be equal with networkManager.active");
    43     });
    44 }
    46 // Start test
    47 startTestBase(function() {
    48   return Promise.resolve()
    49     .then(() => testInitialState())
    50     // Test active network changed by enabling data call.
    51     .then(() => testActiveNetworkChangedBySwitchingDataCall(true))
    52     // Test active network changed by disabling data call.
    53     .then(() => testActiveNetworkChangedBySwitchingDataCall(false));
    54 });

mercurial