blob: 1b41a71bf033c228046e08f0d318f2b8cf4715ef (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
function run_test() {
do_test_pending();
removeMetadata();
removeCacheFile();
do_load_manifest("data/chrome.manifest");
configureToLoadJarEngines();
do_check_false(Services.search.isInitialized);
let fallback = false;
Services.search.init(function search_initialized(aStatus) {
do_check_true(fallback);
do_check_true(Components.isSuccessCode(aStatus));
do_check_true(Services.search.isInitialized);
// test engines from dir are not loaded.
let engines = Services.search.getEngines();
do_check_eq(engines.length, 1);
// test jar engine is loaded ok.
let engine = Services.search.getEngineByName("bug645970");
do_check_neq(engine, null);
do_test_finished();
});
// Execute test for the sync fallback while the async code is being executed.
Services.obs.addObserver(function searchServiceObserver(aResult, aTopic, aVerb) {
if (aVerb == "find-jar-engines") {
Services.obs.removeObserver(searchServiceObserver, aTopic);
fallback = true;
do_check_false(Services.search.isInitialized);
// test engines from dir are not loaded.
let engines = Services.search.getEngines();
do_check_eq(engines.length, 1);
// test jar engine is loaded ok.
let engine = Services.search.getEngineByName("bug645970");
do_check_neq(engine, null);
do_check_true(Services.search.isInitialized);
}
}, "browser-search-service", false);
}
|