diff options
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_addEngineWithDetails.js')
-rw-r--r-- | toolkit/components/search/tests/xpcshell/test_addEngineWithDetails.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_addEngineWithDetails.js b/toolkit/components/search/tests/xpcshell/test_addEngineWithDetails.js new file mode 100644 index 000000000..14411eaaa --- /dev/null +++ b/toolkit/components/search/tests/xpcshell/test_addEngineWithDetails.js @@ -0,0 +1,34 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const kSearchEngineID = "addEngineWithDetails_test_engine"; +const kSearchEngineURL = "http://example.com/?search={searchTerms}"; +const kSearchTerm = "foo"; + +add_task(function* test_addEngineWithDetails() { + do_check_false(Services.search.isInitialized); + + Services.prefs.getDefaultBranch(BROWSER_SEARCH_PREF) + .setBoolPref("reset.enabled", true); + + yield asyncInit(); + + Services.search.addEngineWithDetails(kSearchEngineID, "", "", "", "get", + kSearchEngineURL); + + // An engine added with addEngineWithDetails should have a load path, even + // though we can't point to a specific file. + let engine = Services.search.getEngineByName(kSearchEngineID); + do_check_eq(engine.wrappedJSObject._loadPath, "[other]addEngineWithDetails"); + + // Set the engine as default; this should set a loadPath verification hash, + // which should ensure we don't show the search reset prompt. + Services.search.currentEngine = engine; + + let expectedURL = kSearchEngineURL.replace("{searchTerms}", kSearchTerm); + let submission = + Services.search.currentEngine.getSubmission(kSearchTerm, null, "searchbar"); + do_check_eq(submission.uri.spec, expectedURL); +}); |