summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js')
-rw-r--r--toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js b/toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
new file mode 100644
index 000000000..3a985db9e
--- /dev/null
+++ b/toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
@@ -0,0 +1,35 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+const NS_APP_USER_SEARCH_DIR = "UsrSrchPlugns";
+
+function run_test() {
+ do_test_pending();
+
+ // Copy an engine to [profile]/searchplugin/
+ let dir = Services.dirsvc.get(NS_APP_USER_SEARCH_DIR, Ci.nsIFile);
+ if (!dir.exists())
+ dir.create(dir.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
+ do_get_file("data/engine-override.xml").copyTo(dir, "bug645970.xml");
+
+ let file = dir.clone();
+ file.append("bug645970.xml");
+ do_check_true(file.exists());
+
+ do_check_false(Services.search.isInitialized);
+
+ Services.search.init(function search_initialized(aStatus) {
+ do_check_true(Components.isSuccessCode(aStatus));
+ do_check_true(Services.search.isInitialized);
+
+ // test the engine is loaded ok.
+ let engine = Services.search.getEngineByName("bug645970");
+ do_check_neq(engine, null);
+
+ // remove the engine and verify the file has been removed too.
+ Services.search.removeEngine(engine);
+ do_check_false(file.exists());
+
+ do_test_finished();
+ });
+}