53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
const { updateAppInfo } = ChromeUtils.importESModule(
|
|
"resource://testing-common/AppInfo.sys.mjs"
|
|
);
|
|
|
|
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",
|
|
"https://shavar.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2"
|
|
);
|
|
}
|
|
|
|
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();
|
|
});
|