summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js')
-rw-r--r--toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js b/toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js
new file mode 100644
index 0000000000..4fbec408dc
--- /dev/null
+++ b/toolkit/components/autocomplete/tests/unit/test_autocomplete_userContextId.js
@@ -0,0 +1,44 @@
+"use strict";
+
+function AutoCompleteInput(aSearches, aUserContextId) {
+ this.searches = aSearches;
+ this.userContextId = aUserContextId;
+ this.popup.selectedIndex = -1;
+}
+AutoCompleteInput.prototype = Object.create(AutoCompleteInputBase.prototype);
+
+function AutoCompleteSearch(aName) {
+ this.name = aName;
+}
+AutoCompleteSearch.prototype = Object.create(AutoCompleteSearchBase.prototype);
+
+add_task(async function test_userContextId() {
+ let searchParam = await doSearch("test", 1);
+ Assert.equal(searchParam, " user-context-id:1");
+});
+
+function doSearch(aString, aUserContextId) {
+ return new Promise(resolve => {
+ let search = new AutoCompleteSearch("test");
+
+ search.startSearch = function (
+ aSearchString,
+ aSearchParam,
+ aPreviousResult,
+ aListener
+ ) {
+ unregisterAutoCompleteSearch(search);
+ resolve(aSearchParam);
+ };
+
+ registerAutoCompleteSearch(search);
+
+ let controller = Cc["@mozilla.org/autocomplete/controller;1"].getService(
+ Ci.nsIAutoCompleteController
+ );
+
+ let input = new AutoCompleteInput([search.name], aUserContextId);
+ controller.input = input;
+ controller.startSearch(aString);
+ });
+}