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

64 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, {
JsonSchema: "resource://gre/modules/JsonSchema.sys.mjs",
});
add_task(async function test_expand_minimal_and_full() {
let partialConfig = [
{
identifier: "all-param-engine",
recordType: "engine",
base: {
aliases: ["testenginea", "testengineb"],
charset: "EUC-JP",
classification: "general",
name: "testEngine name",
partnerCode: "pc",
urls: {
search: {
base: "https://example.com/1",
// Method defaults to GET
params: [
{ name: "partnerCode", value: "abc" },
{ name: "starbase", value: "Regula_I" },
{ name: "experiment", value: "Genesis" },
],
searchTermParamName: "search",
},
suggestions: {
base: "https://example.com/2",
method: "POST",
searchTermParamName: "suggestions",
},
trending: {
base: "https://example.com/3",
searchTermParamName: "trending",
},
},
},
variants: [{ environment: { allRegionsAndLocales: true } }],
},
{ identifier: "minimal-engine" },
];
let fullConfig = SearchTestUtils.expandPartialConfig(partialConfig);
let schema = await IOUtils.readJSON(
PathUtils.join(do_get_cwd().path, "search-config-v2-schema.json")
);
let validator = new JsonSchema.Validator(schema);
for (let obj of fullConfig) {
let result = validator.validate(obj);
Assert.ok(result.valid, "Expanded config should be valid.");
}
Assert.equal(
fullConfig.length,
5,
"Should have 2 engines, defaultEngines, engineOrders and availableLocales."
);
});