Wed, 31 Dec 2014 06:09:35 +0100
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 });