Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'android'
- Manifest: toolkit/components/url-classifier/tests/unit/xpcshell.toml
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
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();
});