diff options
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_originalDefaultEngine.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_originalDefaultEngine.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_originalDefaultEngine.js b/toolkit/components/search/tests/xpcshell/test_originalDefaultEngine.js new file mode 100644 index 0000000000..39d0d9300e --- /dev/null +++ b/toolkit/components/search/tests/xpcshell/test_originalDefaultEngine.js @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +/* + * Test that originalDefaultEngine property is set and switches correctly. + */ + +"use strict"; + +add_task(async function setup() { + Region._setHomeRegion("an", false); + await AddonTestUtils.promiseStartupManager(); + await SearchTestUtils.useTestEngines("test-extensions"); +}); + +function promiseDefaultNotification() { + return SearchTestUtils.promiseSearchNotification( + SearchUtils.MODIFIED_TYPE.DEFAULT, + SearchUtils.TOPIC_ENGINE_MODIFIED + ); +} + +add_task(async function test_originalDefaultEngine() { + await Promise.all([Services.search.init(), promiseAfterSettings()]); + Assert.equal( + Services.search.originalDefaultEngine.name, + "Multilocale AN", + "Should have returned the correct original default engine" + ); +}); + +add_task(async function test_changeRegion() { + // Now change the region, and check we get the correct default according to + // the config file. + + // Note: the test could be done with changing regions or locales. The important + // part is that the default engine is changing across the switch, and that + // the engine is not the first one in the new sorted engines list. + await promiseSetHomeRegion("tr"); + + Assert.equal( + Services.search.originalDefaultEngine.name, + // Very important this default is not the first one in the list (which is + // the next fallback if the config one can't be found). + "Special", + "Should have returned the correct engine for the new locale" + ); +}); |