Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
const { TelemetryUtils } = ChromeUtils.importESModule(
"resource://gre/modules/TelemetryUtils.sys.mjs"
);
const { UpdateUtils } = ChromeUtils.importESModule(
"resource://gre/modules/UpdateUtils.sys.mjs"
);
add_task(async function testUpdateChannelOverride() {
if (
Services.prefs.prefHasDefaultValue(
TelemetryUtils.Preferences.OverrideUpdateChannel
) ||
Services.prefs.prefHasUserValue(
TelemetryUtils.Preferences.OverrideUpdateChannel
)
) {
// If the pref is already set at this point, the test is running in a build
// that makes use of the override pref. For testing purposes, unset the pref.
Services.prefs.setStringPref(
TelemetryUtils.Preferences.OverrideUpdateChannel,
""
);
}
// Check that we return the same channel as UpdateUtils, by default
Assert.equal(
TelemetryUtils.getUpdateChannel(),
UpdateUtils.getUpdateChannel(false),
"The telemetry reported channel must match the one from UpdateChannel, by default."
);
// Now set the override pref and check that we return the correct channel
const OVERRIDE_TEST_CHANNEL = "nightly-test";
Services.prefs.setStringPref(
TelemetryUtils.Preferences.OverrideUpdateChannel,
OVERRIDE_TEST_CHANNEL
);
Assert.equal(
TelemetryUtils.getUpdateChannel(),
OVERRIDE_TEST_CHANNEL,
"The telemetry reported channel must match the override pref when pref is set."
);
});