diff options
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_selectedEngine.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_selectedEngine.js | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_selectedEngine.js b/toolkit/components/search/tests/xpcshell/test_selectedEngine.js deleted file mode 100644 index a1c0f363e..000000000 --- a/toolkit/components/search/tests/xpcshell/test_selectedEngine.js +++ /dev/null @@ -1,165 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -Components.utils.import("resource://gre/modules/osfile.jsm"); - -const kSelectedEnginePref = "browser.search.selectedEngine"; - -// Check that the default engine matches the defaultenginename pref -add_task(function* test_defaultEngine() { - yield asyncInit(); - - do_check_eq(Services.search.currentEngine.name, getDefaultEngineName()); -}); - -// Giving prefs a user value shouldn't change the selected engine. -add_task(function* test_selectedEngine() { - let defaultEngineName = getDefaultEngineName(); - // Test the selectedEngine pref. - Services.prefs.setCharPref(kSelectedEnginePref, kTestEngineName); - - yield asyncReInit(); - do_check_eq(Services.search.currentEngine.name, defaultEngineName); - - Services.prefs.clearUserPref(kSelectedEnginePref); - - // Test the defaultenginename pref. - Services.prefs.setCharPref(kDefaultenginenamePref, kTestEngineName); - - yield asyncReInit(); - do_check_eq(Services.search.currentEngine.name, defaultEngineName); - - Services.prefs.clearUserPref(kDefaultenginenamePref); -}); - -// Setting the search engine should be persisted across restarts. -add_task(function* test_persistAcrossRestarts() { - // Set the engine through the API. - Services.search.currentEngine = Services.search.getEngineByName(kTestEngineName); - do_check_eq(Services.search.currentEngine.name, kTestEngineName); - yield promiseAfterCache(); - - // Check that the a hash was saved. - let metadata = yield promiseGlobalMetadata(); - do_check_eq(metadata.hash.length, 44); - - // Re-init and check the engine is still the same. - yield asyncReInit(); - do_check_eq(Services.search.currentEngine.name, kTestEngineName); - - // Cleanup (set the engine back to default). - Services.search.resetToOriginalDefaultEngine(); - do_check_eq(Services.search.currentEngine.name, getDefaultEngineName()); -}); - -// An engine set without a valid hash should be ignored. -add_task(function* test_ignoreInvalidHash() { - // Set the engine through the API. - Services.search.currentEngine = Services.search.getEngineByName(kTestEngineName); - do_check_eq(Services.search.currentEngine.name, kTestEngineName); - yield promiseAfterCache(); - - // Then mess with the file (make the hash invalid). - let metadata = yield promiseGlobalMetadata(); - metadata.hash = "invalid"; - yield promiseSaveGlobalMetadata(metadata); - - // Re-init the search service, and check that the json file is ignored. - yield asyncReInit(); - do_check_eq(Services.search.currentEngine.name, getDefaultEngineName()); -}); - -// Resetting the engine to the default should remove the saved value. -add_task(function* test_settingToDefault() { - // Set the engine through the API. - Services.search.currentEngine = Services.search.getEngineByName(kTestEngineName); - do_check_eq(Services.search.currentEngine.name, kTestEngineName); - yield promiseAfterCache(); - - // Check that the current engine was saved. - let metadata = yield promiseGlobalMetadata(); - do_check_eq(metadata.current, kTestEngineName); - - // Then set the engine back to the default through the API. - Services.search.currentEngine = - Services.search.getEngineByName(getDefaultEngineName()); - yield promiseAfterCache(); - - // Check that the current engine is no longer saved in the JSON file. - metadata = yield promiseGlobalMetadata(); - do_check_eq(metadata.current, ""); -}); - -add_task(function* test_resetToOriginalDefaultEngine() { - let defaultName = getDefaultEngineName(); - do_check_eq(Services.search.currentEngine.name, defaultName); - - Services.search.currentEngine = - Services.search.getEngineByName(kTestEngineName); - do_check_eq(Services.search.currentEngine.name, kTestEngineName); - yield promiseAfterCache(); - - Services.search.resetToOriginalDefaultEngine(); - do_check_eq(Services.search.currentEngine.name, defaultName); - yield promiseAfterCache(); -}); - -add_task(function* test_fallback_kept_after_restart() { - // Set current engine to a default engine that isn't the original default. - let builtInEngines = Services.search.getDefaultEngines(); - let defaultName = getDefaultEngineName(); - let nonDefaultBuiltInEngine; - for (let engine of builtInEngines) { - if (engine.name != defaultName) { - nonDefaultBuiltInEngine = engine; - break; - } - } - Services.search.currentEngine = nonDefaultBuiltInEngine; - do_check_eq(Services.search.currentEngine.name, nonDefaultBuiltInEngine.name); - yield promiseAfterCache(); - - // Remove that engine... - Services.search.removeEngine(nonDefaultBuiltInEngine); - // The engine being a default (built-in) one, it should be hidden - // rather than actually removed. - do_check_true(nonDefaultBuiltInEngine.hidden); - - // Using the currentEngine getter should force a fallback to the - // original default engine. - do_check_eq(Services.search.currentEngine.name, defaultName); - - // Restoring the default engines should unhide our built-in test - // engine, but not change the value of currentEngine. - Services.search.restoreDefaultEngines(); - do_check_false(nonDefaultBuiltInEngine.hidden); - do_check_eq(Services.search.currentEngine.name, defaultName); - yield promiseAfterCache(); - - // After a restart, the currentEngine value should still be unchanged. - yield asyncReInit(); - do_check_eq(Services.search.currentEngine.name, defaultName); -}); - - -function run_test() { - removeMetadata(); - removeCacheFile(); - - do_check_false(Services.search.isInitialized); - - let engineDummyFile = gProfD.clone(); - engineDummyFile.append("searchplugins"); - engineDummyFile.append("test-search-engine.xml"); - let engineDir = engineDummyFile.parent; - engineDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY); - - do_get_file("data/engine.xml").copyTo(engineDir, "engine.xml"); - - do_register_cleanup(function() { - removeMetadata(); - removeCacheFile(); - }); - - run_next_test(); -} |