summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_engine_alias.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_engine_alias.js')
-rw-r--r--toolkit/components/search/tests/xpcshell/test_engine_alias.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_engine_alias.js b/toolkit/components/search/tests/xpcshell/test_engine_alias.js
new file mode 100644
index 0000000000..a742e33097
--- /dev/null
+++ b/toolkit/components/search/tests/xpcshell/test_engine_alias.js
@@ -0,0 +1,36 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+SearchTestUtils.initXPCShellAddonManager(this);
+
+const NAME = "Test Alias Engine";
+
+add_task(async function setup() {
+ await AddonTestUtils.promiseStartupManager();
+ let settingsFileWritten = promiseAfterSettings();
+ await Services.search.init();
+ await settingsFileWritten;
+});
+
+add_task(async function upgrade_with_configuration_change_test() {
+ let settingsFileWritten = promiseAfterSettings();
+ let extension = await SearchTestUtils.installSearchExtension({
+ name: NAME,
+ keyword: "testalias",
+ });
+ await extension.awaitStartup();
+ await settingsFileWritten;
+
+ let engine = await Services.search.getEngineByAlias("testalias");
+ Assert.equal(engine?.name, NAME, "Engine can be fetched by alias");
+
+ // Restart the search service but not the AddonManager, we will
+ // load the engines from settings.
+ Services.search.wrappedJSObject.reset();
+ await Services.search.init();
+
+ engine = await Services.search.getEngineByAlias("testalias");
+ Assert.equal(engine?.name, NAME, "Engine can be fetched by alias");
+
+ await extension.unload();
+});