1
0
Fork 0
firefox/toolkit/components/search/tests/xpcshell/test_appDefaultEngine.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

61 lines
1.6 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/*
* Test that appDefaultEngine property is set and switches correctly.
*/
"use strict";
const CONFIG = [
{ identifier: "default-engine" },
{
identifier: "an-engine",
variants: [{ environment: { regions: ["an"] } }],
},
{ identifier: "tr-engine" },
{
specificDefaults: [
{
default: "an-engine",
environment: { regions: ["an"] },
},
{
default: "tr-engine",
environment: { regions: ["tr"] },
},
],
},
];
add_setup(async function () {
Region._setHomeRegion("an", false);
SearchTestUtils.setRemoteSettingsConfig(CONFIG);
});
add_task(async function test_appDefaultEngine() {
await Promise.all([Services.search.init(), promiseAfterSettings()]);
Assert.equal(
Services.search.appDefaultEngine.name,
"an-engine",
"Should have returned the correct app default engine"
);
});
add_task(async function test_changeRegion() {
// Now change the region, and check we get the correct default according to
// the config file.
// Note: the test could be done with changing regions or locales. The important
// part is that the default engine is changing across the switch, and that
// the engine is not the first one in the new sorted engines list.
await promiseSetHomeRegion("tr");
Assert.equal(
Services.search.appDefaultEngine.name,
// Very important this default is not the first one in the list (which is
// the next fallback if the config one can't be found).
"tr-engine",
"Should have returned the correct engine for the new locale"
);
});