toolkit/components/search/tests/xpcshell/test_sync_delay_fallback.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:861320fec923
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 function run_test() {
5 do_test_pending();
6
7 removeMetadata();
8 removeCacheFile();
9
10 do_load_manifest("data/chrome.manifest");
11
12 let url = "chrome://testsearchplugin/locale/searchplugins/";
13 Services.prefs.setCharPref("browser.search.jarURIs", url);
14 Services.prefs.setBoolPref("browser.search.loadFromJars", true);
15
16 do_check_false(Services.search.isInitialized);
17 let fallback = false;
18
19 Services.search.init(function search_initialized(aStatus) {
20 do_check_true(fallback);
21 do_check_true(Components.isSuccessCode(aStatus));
22 do_check_true(Services.search.isInitialized);
23
24 // test engines from dir are loaded.
25 let engines = Services.search.getEngines();
26 do_check_true(engines.length > 1);
27
28 // test jar engine is loaded ok.
29 let engine = Services.search.getEngineByName("bug645970");
30 do_check_neq(engine, null);
31
32 Services.prefs.clearUserPref("browser.search.jarURIs");
33 Services.prefs.clearUserPref("browser.search.loadFromJars");
34
35 do_test_finished();
36 });
37
38 // Execute test for the sync fallback while the async code is being executed.
39 Services.obs.addObserver(function searchServiceObserver(aResult, aTopic, aVerb) {
40 if (aVerb == "find-jar-engines") {
41 Services.obs.removeObserver(searchServiceObserver, aTopic);
42 fallback = true;
43
44 do_check_false(Services.search.isInitialized);
45
46 // test engines from dir are loaded.
47 let engines = Services.search.getEngines();
48 do_check_true(engines.length > 1);
49
50 // test jar engine is loaded ok.
51 let engine = Services.search.getEngineByName("bug645970");
52 do_check_neq(engine, null);
53
54 do_check_true(Services.search.isInitialized);
55 }
56 }, "browser-search-service", false);
57 }

mercurial