dom/system/gonk/tests/marionette/test_network_active_changed.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;
     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