diff options
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js | 126 |
1 files changed, 114 insertions, 12 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js b/toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js index ea5cdee3e5..5edcb6081b 100644 --- a/toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js +++ b/toolkit/components/search/tests/xpcshell/test_reload_engines_experiment.js @@ -72,8 +72,87 @@ const CONFIG = [ }, ]; +const CONFIG_V2 = [ + { + recordType: "engine", + identifier: "engine", + base: { + name: "Test search engine", + urls: { + search: { + base: "https://www.google.com/search", + params: [ + { + name: "channel", + searchAccessPoint: { + addressbar: "fflb", + contextmenu: "rcs", + }, + }, + ], + searchTermParamName: "q", + }, + }, + }, + variants: [ + { + environment: { allRegionsAndLocales: true }, + }, + ], + }, + { + recordType: "engine", + identifier: "engine-same-name-en", + base: { + name: "engine-same-name", + urls: { + search: { + base: "https://www.google.com/search", + searchTermParamName: "q", + }, + }, + }, + variants: [ + { + environment: { allRegionsAndLocales: true }, + }, + ], + }, + { + recordType: "engine", + identifier: "engine-same-name-gd", + base: { + name: "engine-same-name", + urls: { + search: { + base: "https://www.example.com/search", + searchTermParamName: "q", + }, + }, + }, + variants: [ + { + environment: { allRegionsAndLocales: true, experiment: "xpcshell" }, + }, + ], + }, + { + recordType: "defaultEngines", + globalDefault: "engine", + specificDefaults: [], + }, + { + recordType: "engineOrders", + orders: [], + }, +]; + add_setup(async function () { - await SearchTestUtils.useTestEngines("data", null, CONFIG); + await SearchTestUtils.useTestEngines( + "data", + null, + SearchUtils.newSearchConfigEnabled ? CONFIG_V2 : CONFIG + ); await AddonTestUtils.promiseStartupManager(); }); @@ -125,19 +204,42 @@ add_task(async function test_config_updated_engine_changes() { await reloadObserved; Services.obs.removeObserver(enginesObs, SearchUtils.TOPIC_ENGINE_MODIFIED); - Assert.deepEqual(enginesAdded, [], "Should have added the correct engines"); + if (SearchUtils.newSearchConfigEnabled) { + // In the new config, engine-same-name-en and engine-same-name-gd are two + // different engine configs and they will be treated as different engines + // and not the same. That's the reason why the assertions are different below. + Assert.deepEqual( + enginesAdded, + ["engine-same-name-gd"], + "Should have added the correct engines" + ); - Assert.deepEqual( - enginesModified.sort(), - ["engine", "engine-same-name-gd"], - "Should have modified the expected engines" - ); + Assert.deepEqual( + enginesModified.sort(), + ["engine", "engine-same-name-en"], + "Should have modified the expected engines" + ); - Assert.deepEqual( - enginesRemoved, - [], - "Should have removed the expected engine" - ); + Assert.deepEqual( + enginesRemoved, + ["engine-same-name"], + "Should have removed the expected engine" + ); + } else { + Assert.deepEqual(enginesAdded, [], "Should have added the correct engines"); + + Assert.deepEqual( + enginesModified.sort(), + ["engine", "engine-same-name-gd"], + "Should have modified the expected engines" + ); + + Assert.deepEqual( + enginesRemoved, + [], + "Should have removed the expected engine" + ); + } const installedEngines = await Services.search.getAppProvidedEngines(); |