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 // -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 "use strict";
8 function test() {
9 runTests();
10 }
12 function getTelemetryPayload() {
13 return Cu.import("resource://gre/modules/TelemetryPing.jsm", {}).
14 TelemetryPing.getPayload();
15 }
17 gTests.push({
18 desc: "Test browser-ui telemetry",
19 run: function testBrowserUITelemetry() {
20 // startup should have registered simple measures function
21 is(getTelemetryPayload().info.appName, "MetroFirefox");
23 let simpleMeasurements = getTelemetryPayload().simpleMeasurements;
24 ok(simpleMeasurements, "simpleMeasurements are truthy");
25 ok(simpleMeasurements.UITelemetry["metro-ui"]["window-width"], "window-width measurement was captured");
26 ok(simpleMeasurements.UITelemetry["metro-ui"]["window-height"], "window-height measurement was captured");
27 }
28 });
30 gTests.push({
31 desc: "Test tab count telemetry",
32 run: function() {
33 // Wait for Session Manager to be initialized.
34 yield waitForCondition(() => window.__SSID);
36 Services.obs.notifyObservers(null, "reset-telemetry-vars", null);
37 yield waitForCondition(function () {
38 let simpleMeasurements = getTelemetryPayload().simpleMeasurements;
39 return simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"] == 1;
40 });
42 let simpleMeasurements = getTelemetryPayload().simpleMeasurements;
43 is(simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"], 1);
44 is(simpleMeasurements.UITelemetry["metro-tabs"]["maxTabCount"], 1);
46 let tab2 = Browser.addTab("about:mozilla");
47 simpleMeasurements = getTelemetryPayload().simpleMeasurements;
48 is(simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"], 2);
49 is(simpleMeasurements.UITelemetry["metro-tabs"]["maxTabCount"], 2);
51 let tab3 = Browser.addTab("about:config");
52 simpleMeasurements = getTelemetryPayload().simpleMeasurements;
53 is(simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"], 3);
54 is(simpleMeasurements.UITelemetry["metro-tabs"]["maxTabCount"], 3);
56 Browser.closeTab(tab2, { forceClose: true } );
57 simpleMeasurements = getTelemetryPayload().simpleMeasurements;
58 is(simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"], 2);
59 is(simpleMeasurements.UITelemetry["metro-tabs"]["maxTabCount"], 3);
61 Browser.closeTab(tab3, { forceClose: true } );
62 simpleMeasurements = getTelemetryPayload().simpleMeasurements;
63 is(simpleMeasurements.UITelemetry["metro-tabs"]["currTabCount"], 1);
64 is(simpleMeasurements.UITelemetry["metro-tabs"]["maxTabCount"], 3);
65 }
66 });