diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /toolkit/components/search/tests/xpcshell/test_region_params.js | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_region_params.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_region_params.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_region_params.js b/toolkit/components/search/tests/xpcshell/test_region_params.js new file mode 100644 index 0000000000..5e1cfd2d30 --- /dev/null +++ b/toolkit/components/search/tests/xpcshell/test_region_params.js @@ -0,0 +1,65 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const CONFIG = [ + { + webExtension: { id: "engine@search.mozilla.org" }, + appliesTo: [ + { included: { everywhere: true } }, + { + included: { everywhere: true }, + experiment: "acohortid", + regionParams: { US: [{ name: "client", value: "veryspecial" }] }, + }, + ], + default: "yes", + params: { + searchUrlGetParams: [{ name: "client", value: "default" }], + }, + regionParams: { + US: [{ name: "client", value: "special" }], + }, + }, +]; + +add_task(async function setup() { + await SearchTestUtils.useTestEngines("data", null, CONFIG); + await AddonTestUtils.promiseStartupManager(); + + let confUrl = `data:application/json,${JSON.stringify(CONFIG)}`; + Services.prefs.setStringPref("search.config.url", confUrl); +}); + +add_task(async function test_region_params() { + Region._setCurrentRegion("GB"); + await Services.search.init(); + let engine = await Services.search.getDefault(); + let params = engine.getSubmission("test").uri.query.split("&"); + Assert.ok(params.includes("client=default"), "Correct default params"); + + Region._setCurrentRegion("US"); + engine = await Services.search.getDefault(); + params = engine.getSubmission("test").uri.query.split("&"); + Assert.ok(params.includes("client=special"), "Override param in US"); + + Region._setCurrentRegion("ES"); + engine = await Services.search.getDefault(); + params = engine.getSubmission("test").uri.query.split("&"); + Assert.ok(params.includes("client=default"), "Revert back to default"); + + const reloadObserved = SearchTestUtils.promiseSearchNotification( + "engines-reloaded" + ); + Services.prefs.setCharPref("browser.search.experiment", "acohortid"); + await reloadObserved; + + Region._setCurrentRegion("US"); + engine = await Services.search.getDefault(); + params = engine.getSubmission("test").uri.query.split("&"); + Assert.ok( + params.includes("client=veryspecial"), + "appliesTo section param override used" + ); +}); |