forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "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);
 | |
|   });
 | |
| }
 | 
