commit 51e7067f2ffc7465465df75edd064f41882a69fd
parent bc3ef19f18460bfbd5a7ef0b853e9cde5af544fe
Author: James Teow <jteow@mozilla.com>
Date: Wed, 17 Dec 2025 04:17:01 +0000
Bug 1903826 - Use custom app provided engines in test_UrlbarSearchUtils.js - r=urlbar-reviewers,daisuke
Differential Revision: https://phabricator.services.mozilla.com/D276684
Diffstat:
1 file changed, 48 insertions(+), 12 deletions(-)
diff --git a/browser/components/urlbar/tests/unit/test_UrlbarSearchUtils.js b/browser/components/urlbar/tests/unit/test_UrlbarSearchUtils.js
@@ -9,26 +9,62 @@ const { updateAppInfo } = ChromeUtils.importESModule(
"resource://testing-common/AppInfo.sys.mjs"
);
+const SEARCH_CONFIG = [
+ {
+ recordType: "engine",
+ identifier: "testdefault",
+ base: {
+ name: "Default Engine",
+ urls: {
+ search: {
+ base: "https://www.example.com/search",
+ searchTermParamName: "q",
+ },
+ },
+ },
+ },
+ {
+ // For testing add/remove app provided engine.
+ recordType: "engine",
+ identifier: "aliased",
+ base: {
+ name: "Aliased Engine",
+ urls: {
+ search: {
+ base: "https://aliased.example.com/search",
+ searchTermParamName: "q",
+ },
+ },
+ aliases: ["aliased"],
+ },
+ },
+ {
+ recordType: "defaultEngines",
+ globalDefault: "testdefault",
+ specificDefaults: [],
+ },
+];
+
let baconEngineExtension;
add_setup(async function () {
updateAppInfo({
name: "firefox",
});
-});
-add_task(async function () {
- await UrlbarSearchUtils.init();
// Tell the search service we are running in the US. This also has the
// desired side-effect of preventing our geoip lookup.
Services.prefs.setCharPref("browser.search.region", "US");
- Services.search.restoreDefaultEngines();
- Services.search.resetToAppDefaultEngine();
+ SearchTestUtils.setRemoteSettingsConfig(SEARCH_CONFIG);
+ await Services.search.init();
+
+ await UrlbarSearchUtils.init();
});
add_task(async function search_engine_match() {
let engine = await Services.search.getDefault();
+ Assert.equal(engine.name, "Default Engine", "Default engine is correct.");
let domain = engine.searchUrlDomain;
let token = domain.substr(0, 1);
let matchedEngine = (
@@ -40,7 +76,7 @@ add_task(async function search_engine_match() {
add_task(async function no_match() {
Assert.equal(
0,
- (await UrlbarSearchUtils.enginesForDomainPrefix("test")).length
+ (await UrlbarSearchUtils.enginesForDomainPrefix("nomatchprefix")).length
);
});
@@ -192,19 +228,19 @@ add_task(async function remove_search_engine_nomatch() {
);
});
-add_task(async function test_builtin_aliased_search_engine_match() {
- let engine = await UrlbarSearchUtils.engineForAlias("@google");
+add_task(async function test_app_provided_aliased_search_engine_match() {
+ let engine = await UrlbarSearchUtils.engineForAlias("@aliased");
Assert.ok(engine);
- Assert.equal(engine.name, "Google");
+ Assert.equal(engine.name, "Aliased Engine");
let promiseTopic = promiseSearchTopic("engine-changed");
await Promise.all([Services.search.removeEngine(engine), promiseTopic]);
- let matchedEngine = await UrlbarSearchUtils.engineForAlias("@google");
+ let matchedEngine = await UrlbarSearchUtils.engineForAlias("@aliased");
Assert.ok(!matchedEngine);
engine.hidden = false;
await TestUtils.waitForCondition(() =>
- UrlbarSearchUtils.engineForAlias("@google")
+ UrlbarSearchUtils.engineForAlias("@aliased")
);
- engine = await UrlbarSearchUtils.engineForAlias("@google");
+ engine = await UrlbarSearchUtils.engineForAlias("@aliased");
Assert.ok(engine);
});