summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_selectedEngine.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_selectedEngine.js')
-rw-r--r--toolkit/components/search/tests/xpcshell/test_selectedEngine.js165
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();
-}