diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /toolkit/components/search/tests/xpcshell/test_nocache.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | uxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz |
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_nocache.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_nocache.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_nocache.js b/toolkit/components/search/tests/xpcshell/test_nocache.js new file mode 100644 index 0000000000..42776aef04 --- /dev/null +++ b/toolkit/components/search/tests/xpcshell/test_nocache.js @@ -0,0 +1,60 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/* + * test_nocache: Start search engine + * - without search.json.mozlz4 + * + * Ensure that : + * - nothing explodes; + * - search.json.mozlz4 is created. + */ + +function run_test() +{ + removeCacheFile(); + updateAppInfo(); + do_load_manifest("data/chrome.manifest"); + useHttpServer(); + + run_next_test(); +} + +add_task(function* test_nocache() { + let search = Services.search; + + let afterCachePromise = promiseAfterCache(); + + yield new Promise((resolve, reject) => search.init(rv => { + Components.isSuccessCode(rv) ? resolve() : reject(); + })); + + // Check that the cache is created at startup + yield afterCachePromise; + + // Check that search.json has been created. + let cacheFile = gProfD.clone(); + cacheFile.append(CACHE_FILENAME); + do_check_true(cacheFile.exists()); + + // Add engine and wait for cache update + yield addTestEngines([ + { name: "Test search engine", xmlFileName: "engine.xml" }, + ]); + + do_print("Engine has been added, let's wait for the cache to be built"); + yield promiseAfterCache(); + + do_print("Searching test engine in cache"); + let cache = yield promiseCacheData(); + let found = false; + for (let engine of cache.engines) { + if (engine._shortName == "test-search-engine") { + found = true; + break; + } + } + do_check_true(found); + + removeCacheFile(); +}); |