diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js b/toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js new file mode 100644 index 0000000000..646995683f --- /dev/null +++ b/toolkit/components/search/tests/xpcshell/test_migrateWebExtensionEngine.js @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const kSearchEngineID = "addEngineWithDetails_test_engine"; +const kExtensionID = "test@example.com"; + +const kSearchEngineDetails = { + template: "http://example.com/?search={searchTerms}", + description: "Test Description", + iconURL: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==", + suggestURL: "http://example.com/?suggest={searchTerms}", + alias: "alias_foo", + extensionID: kExtensionID, +}; + +add_task(async function setup() { + await AddonTestUtils.promiseStartupManager(); +}); + +add_task(async function test_migrateLegacyEngine() { + Assert.ok(!Services.search.isInitialized); + + await Services.search.addEngineWithDetails( + kSearchEngineID, + kSearchEngineDetails + ); + + // Modify the loadpath so it looks like an legacy plugin loadpath + let engine = Services.search.getEngineByName(kSearchEngineID); + engine.wrappedJSObject._loadPath = `jar:[profile]/extensions/${kExtensionID}.xpi!/engine.xml`; + engine.wrappedJSObject._extensionID = null; + + // This should replace the existing engine + await Services.search.addEngineWithDetails( + kSearchEngineID, + kSearchEngineDetails + ); + + engine = Services.search.getEngineByName(kSearchEngineID); + Assert.equal( + engine.wrappedJSObject._loadPath, + "[other]addEngineWithDetails:" + kExtensionID + ); + Assert.equal(engine.wrappedJSObject._extensionID, kExtensionID); +}); |