1
0
Fork 0
firefox/toolkit/components/search/tests/xpcshell/test_searchForm.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

105 lines
2.6 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
https://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const CONFIG = [
{
identifier: "engine_searchform",
base: {
urls: {
searchForm: {
base: "https://example.com/searchform",
params: [{ name: "foo", value: "bar" }],
},
},
},
},
{
identifier: "engine_no_searchform",
base: {
urls: {
search: {
base: "https://example.com/search",
searchTermParamName: "q",
},
},
},
},
];
add_setup(async function () {
useHttpServer("");
SearchTestUtils.setRemoteSettingsConfig(CONFIG);
await Services.search.init();
await SearchTestUtils.installSearchExtension({
name: "AddonEngine",
search_url: "https://example.com/search",
search_url_get_params: "q={searchTerms}",
});
});
add_task(async function test_appProvidedEngineSearchform() {
let engine = Services.search.getEngineById(`engine_searchform`);
Assert.equal(
engine.searchForm,
"https://example.com/searchform?foo=bar",
"Used specified searchForm with parameters."
);
});
add_task(async function test_appProvidedEngineNoSearchform() {
let engine = Services.search.getEngineById(`engine_no_searchform`);
Assert.equal(
engine.searchForm,
"https://example.com",
"Used pre path of search URL."
);
});
add_task(async function test_addonEngine() {
let engine2 = Services.search.getEngineByName(`AddonEngine`);
Assert.equal(
engine2.searchForm,
"https://example.com",
"Used pre path of search URL."
);
});
add_task(async function test_openSearchRel() {
// This engine has its searchForm defined as a Url tag with rel="searchform" attribute.
let engine = await SearchTestUtils.installOpenSearchEngine({
url: `${gHttpURL}/opensearch/suggestion.xml`,
});
Assert.equal(
engine.searchForm,
"http://engine-rel-searchform.xml/?search&some=param",
"Used specified searchForm with parameters."
);
});
add_task(async function test_openSearchElement() {
// This engine has its searchForm defined as a <SearchForm> element.
let engine = await SearchTestUtils.installOpenSearchEngine({
url: `${gHttpURL}/opensearch/images.xml`,
});
Assert.equal(
engine.searchForm,
"http://www.bing.com/search",
"Used specified searchForm."
);
});
add_task(async function test_openSearchNoSearchform() {
// This engine has no custom searchForm.
let engine = await SearchTestUtils.installOpenSearchEngine({
url: `${gHttpURL}/opensearch/simple.xml`,
});
Assert.equal(
engine.searchForm,
"https://example.com",
"Used pre path of search URL."
);
});