summaryrefslogtreecommitdiffstats
path: root/toolkit/components/search/tests/xpcshell/test_config_engine_params.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/search/tests/xpcshell/test_config_engine_params.js')
-rw-r--r--toolkit/components/search/tests/xpcshell/test_config_engine_params.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/toolkit/components/search/tests/xpcshell/test_config_engine_params.js b/toolkit/components/search/tests/xpcshell/test_config_engine_params.js
new file mode 100644
index 0000000000..795dc56324
--- /dev/null
+++ b/toolkit/components/search/tests/xpcshell/test_config_engine_params.js
@@ -0,0 +1,68 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+add_task(async function setup() {
+ await SearchTestUtils.useTestEngines("method-extensions");
+ await AddonTestUtils.promiseStartupManager();
+ await Services.search.init();
+});
+
+add_task(async function test_get_extension() {
+ let engine = Services.search.getEngineByName("Get Engine");
+ Assert.notEqual(engine, null, "Should have found an engine");
+
+ let url = engine.wrappedJSObject._getURLOfType(SearchUtils.URL_TYPE.SEARCH);
+ Assert.equal(url.method, "GET", "Search URLs method is GET");
+
+ let submission = engine.getSubmission("foo");
+ Assert.equal(
+ submission.uri.spec,
+ "https://example.com/?config=1&search=foo",
+ "Search URLs should match"
+ );
+
+ let submissionSuggest = engine.getSubmission(
+ "bar",
+ SearchUtils.URL_TYPE.SUGGEST_JSON
+ );
+ Assert.equal(
+ submissionSuggest.uri.spec,
+ "https://example.com/?config=1&suggest=bar",
+ "Suggest URLs should match"
+ );
+});
+
+add_task(async function test_post_extension() {
+ let engine = Services.search.getEngineByName("Post Engine");
+ Assert.ok(!!engine, "Should have found an engine");
+
+ let url = engine.wrappedJSObject._getURLOfType(SearchUtils.URL_TYPE.SEARCH);
+ Assert.equal(url.method, "POST", "Search URLs method is POST");
+
+ let submission = engine.getSubmission("foo");
+ Assert.equal(
+ submission.uri.spec,
+ "https://example.com/",
+ "Search URLs should match"
+ );
+ Assert.equal(
+ submission.postData.data.data,
+ "config=1&search=foo",
+ "Search postData should match"
+ );
+
+ let submissionSuggest = engine.getSubmission(
+ "bar",
+ SearchUtils.URL_TYPE.SUGGEST_JSON
+ );
+ Assert.equal(
+ submissionSuggest.uri.spec,
+ "https://example.com/",
+ "Suggest URLs should match"
+ );
+ Assert.equal(
+ submissionSuggest.postData.data.data,
+ "config=1&suggest=bar",
+ "Suggest postData should match"
+ );
+});