43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
https://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const { StartupTelemetry } = ChromeUtils.importESModule(
|
|
"moz-src:///browser/components/StartupTelemetry.sys.mjs"
|
|
);
|
|
|
|
const ENV_VAR = "FIREFOX_LAUNCHED_BY_DESKTOP_LAUNCHER";
|
|
|
|
add_setup(function test_setup() {
|
|
// FOG needs a profile directory to put its data in.
|
|
do_get_profile();
|
|
|
|
// FOG needs to be initialized in order for data to flow.
|
|
Services.fog.initializeFOG();
|
|
});
|
|
|
|
add_task(async function test_not_launched_from_desktop_launcher() {
|
|
// This test ensures that if the env variable isn't set, we don't mistakenly categorize
|
|
// startup through desktop launcher
|
|
await StartupTelemetry.pinningStatus();
|
|
|
|
Assert.notEqual(
|
|
"DesktopLauncher",
|
|
Glean.osEnvironment.launchMethod.testGetValue()
|
|
);
|
|
});
|
|
|
|
add_task(async function test_launched_from_desktop_launcher() {
|
|
// Let's assume that the desktop launcher sets the environment variable correctly.
|
|
// Set it manually in the test to simulate that behaviour
|
|
Services.env.set(ENV_VAR, "TRUE");
|
|
|
|
await StartupTelemetry.pinningStatus();
|
|
|
|
Assert.equal(
|
|
"DesktopLauncher",
|
|
Glean.osEnvironment.launchMethod.testGetValue()
|
|
);
|
|
});
|