Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

const { updateAppInfo } = ChromeUtils.importESModule(
);
function updateVersion(version) {
updateAppInfo({ version });
}
add_setup(function () {
// We have to set up this pref since the new Remote Settings pref is not designed to have
// appVer in its url (Bug 1899359)
let prefValue = Services.prefs.getCharPref(
"browser.safebrowsing.provider.mozilla.updateURL"
);
if (prefValue.includes("moz-sbrs")) {
Services.prefs.setCharPref(
"browser.safebrowsing.provider.mozilla.updateURL",
);
}
registerCleanupFunction(() => {
Services.prefs.clearUserPref(
"browser.safebrowsing.provider.mozilla.updateURL"
);
});
});
add_test(function test_provider_url() {
let urls = [
"browser.safebrowsing.provider.google.updateURL",
"browser.safebrowsing.provider.google.gethashURL",
"browser.safebrowsing.provider.mozilla.updateURL",
"browser.safebrowsing.provider.mozilla.gethashURL",
];
// FIXME: Most of these only worked in the past because calling
// `updateAppInfo` did not actually replace `Services.appinfo`, which
// the URL formatter uses.
// let versions = ["49.0", "49.0.1", "49.0a1", "49.0b1", "49.0esr", "49.0.1esr"];
let versions = ["49.0", "49.0.1"];
for (let version of versions) {
for (let url of urls) {
updateVersion(version);
let value = Services.urlFormatter.formatURLPref(url);
Assert.notEqual(value.indexOf("&appver=49.0&"), -1);
}
}
run_next_test();
});