summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
blob: 3a985db9e209719c1c96eddbe0c2bcb9f8127c18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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();
  });
}