Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
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 = "mobile_header.js";
7 /* Emulator command for GSM/UMTS signal strength */
8 function setEmulatorGsmSignalStrength(rssi) {
9 emulatorHelper.sendCommand("gsm signal " + rssi);
10 }
12 /* Emulator command for LTE signal strength */
13 function setEmulatorLteSignalStrength(rxlev, rsrp, rssnr) {
14 let lteSignal = rxlev + " " + rsrp + " " + rssnr;
15 emulatorHelper.sendCommand("gsm lte_signal " + lteSignal);
16 }
18 function waitForVoiceChangeEvent(callback) {
19 mobileConnection.addEventListener("voicechange", function onvoicechange() {
20 mobileConnection.removeEventListener("voicechange", onvoicechange);
22 if (callback && typeof callback === "function") {
23 callback();
24 }
25 });
26 }
28 /* Test Initial Signal Strength Info */
29 taskHelper.push(function testInitialSignalStrengthInfo() {
30 log("Test initial signal strength info");
32 let voice = mobileConnection.voice;
33 // Android emulator initializes the signal strength to -99 dBm
34 is(voice.signalStrength, -99, "check voice.signalStrength");
35 is(voice.relSignalStrength, 44, "check voice.relSignalStrength");
37 taskHelper.runNext();
38 });
40 /* Test Unsolicited Signal Strength Events for LTE */
41 taskHelper.push(function testLteSignalStrength() {
42 // Set emulator's LTE signal strength and wait for 'onvoicechange' event.
43 function doTestLteSignalStrength(input, expect, callback) {
44 log("Test LTE signal info with data : " + JSON.stringify(input));
46 waitForVoiceChangeEvent(function() {
47 let voice = mobileConnection.voice;
48 is(voice.signalStrength, expect.signalStrength,
49 "check voice.signalStrength");
50 is(voice.relSignalStrength, expect.relSignalStrength,
51 "check voice.relSignalStrength");
53 if (callback && typeof callback === "function") {
54 callback();
55 }
56 });
58 setEmulatorLteSignalStrength(input.rxlev, input.rsrp, input.rssnr);
59 }
61 let testData = [
62 // All invalid case.
63 {input: {
64 rxlev: 99,
65 rsrp: 65535,
66 rssnr: 65535},
67 expect: {
68 signalStrength: null,
69 relSignalStrength: null}
70 },
71 // Valid rxlev with max value.
72 {input: {
73 rxlev: 63,
74 rsrp: 65535,
75 rssnr: 65535},
76 expect: {
77 signalStrength: -48,
78 relSignalStrength: 100}
79 },
80 // Valid rxlev.
81 {input: {
82 rxlev: 12,
83 rsrp: 65535,
84 rssnr: 65535},
85 expect: {
86 signalStrength: -99,
87 relSignalStrength: 100}
88 },
89 // Valid rxlev with min value.
90 {input: {
91 rxlev: 0,
92 rsrp: 65535,
93 rssnr: 65535},
94 expect: {
95 signalStrength: -111,
96 relSignalStrength: 0}
97 }
98 ];
100 // Run all test data.
101 (function do_call() {
102 let next = testData.shift();
103 if (!next) {
104 taskHelper.runNext();
105 return;
106 }
107 doTestLteSignalStrength(next.input, next.expect, do_call);
108 })();
109 });
111 /* Reset Signal Strength Info to default, and finsih the test */
112 taskHelper.push(function testResetSignalStrengthInfo() {
113 // Reset emulator's signal strength and wait for 'onvoicechange' event.
114 function doResetSignalStrength(rssi) {
115 waitForVoiceChangeEvent(function() {
116 let voice = mobileConnection.voice;
117 is(voice.signalStrength, -99, "check voice.signalStrength");
118 is(voice.relSignalStrength, 44, "check voice.relSignalStrength");
120 taskHelper.runNext();
121 });
123 setEmulatorGsmSignalStrength(rssi);
124 }
126 // Emulator uses rssi = 7 as default value, and we need to reset it after
127 // finishing test in case other test cases need those values for testing.
128 doResetSignalStrength(7);
129 });
131 // Start test
132 taskHelper.runNext();