const { updateAppInfo } = ChromeUtils.importESModule(
  "resource://testing-common/AppInfo.sys.mjs"
);

function updateVersion(version) {
  updateAppInfo({ version });
}

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();
});
