forked from mirrors/gecko-dev
		
	MozReview-Commit-ID: CSuNpA0Yq0w --HG-- extra : rebase_source : 9a207a7cd913038ebcbffc6528e648e3b45af104
		
			
				
	
	
		
			72 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 | 
						|
 | 
						|
const PREF_NAME = "browser.urlbar.matchBuckets";
 | 
						|
const HISTORY_FIRST_PREF_VALUE = "general:5,suggestion:Infinity";
 | 
						|
const CHECKBOX_ID = "showSearchSuggestionsFirstCheckbox";
 | 
						|
 | 
						|
// Open preferences with search suggestions shown first (the default).
 | 
						|
add_task(async function openWithSearchSuggestionsShownFirst() {
 | 
						|
  await SpecialPowers.pushPrefEnv({set: [["browser.urlbar.suggest.searches", true]]});
 | 
						|
 | 
						|
  // The pref should be cleared initially so that search suggestions are shown
 | 
						|
  // first (the default).
 | 
						|
  Assert.equal(Services.prefs.getCharPref(PREF_NAME, ""), "",
 | 
						|
               "Pref should be cleared initially");
 | 
						|
 | 
						|
  // Open preferences.  The checkbox should be checked.
 | 
						|
  await openPreferencesViaOpenPreferencesAPI("search", { leaveOpen: true });
 | 
						|
  let doc = gBrowser.selectedBrowser.contentDocument;
 | 
						|
  let checkbox = doc.getElementById(CHECKBOX_ID);
 | 
						|
  Assert.equal(checkbox.checked, true, "Checkbox should be checked");
 | 
						|
 | 
						|
  // Uncheck the checkbox.
 | 
						|
  checkbox.checked = false;
 | 
						|
  checkbox.doCommand();
 | 
						|
 | 
						|
  // The pref should now be set so that history is shown first.
 | 
						|
  Assert.equal(Services.prefs.getCharPref(PREF_NAME, ""),
 | 
						|
               HISTORY_FIRST_PREF_VALUE,
 | 
						|
               "Pref should now be set to show history first");
 | 
						|
 | 
						|
  // Clear the pref.
 | 
						|
  Services.prefs.clearUserPref(PREF_NAME);
 | 
						|
 | 
						|
  // The checkbox should have become checked again.
 | 
						|
  Assert.equal(checkbox.checked, true,
 | 
						|
               "Checkbox should become checked after clearing pref");
 | 
						|
 | 
						|
  // Clean up.
 | 
						|
  gBrowser.removeCurrentTab();
 | 
						|
});
 | 
						|
 | 
						|
// Open preferences with history shown first.
 | 
						|
add_task(async function openWithHistoryShownFirst() {
 | 
						|
  // Set the pref to show history first.
 | 
						|
  Services.prefs.setCharPref(PREF_NAME, HISTORY_FIRST_PREF_VALUE);
 | 
						|
 | 
						|
  // Open preferences.  The checkbox should be unchecked.
 | 
						|
  await openPreferencesViaOpenPreferencesAPI("search", { leaveOpen: true });
 | 
						|
  let doc = gBrowser.selectedBrowser.contentDocument;
 | 
						|
  let checkbox = doc.getElementById(CHECKBOX_ID);
 | 
						|
  Assert.equal(checkbox.checked, false, "Checkbox should be unchecked");
 | 
						|
 | 
						|
  // Check the checkbox.
 | 
						|
  checkbox.checked = true;
 | 
						|
  checkbox.doCommand();
 | 
						|
 | 
						|
  // The pref should now be cleared so that search suggestions are shown first.
 | 
						|
  Assert.equal(Services.prefs.getCharPref(PREF_NAME, ""), "",
 | 
						|
               "Pref should now be cleared to show search suggestions first");
 | 
						|
 | 
						|
  // Set the pref again.
 | 
						|
  Services.prefs.setCharPref(PREF_NAME, HISTORY_FIRST_PREF_VALUE);
 | 
						|
 | 
						|
  // The checkbox should have become unchecked again.
 | 
						|
  Assert.equal(checkbox.checked, false,
 | 
						|
               "Checkbox should become unchecked after setting pref");
 | 
						|
 | 
						|
  // Clean up.
 | 
						|
  gBrowser.removeCurrentTab();
 | 
						|
  Services.prefs.clearUserPref(PREF_NAME);
 | 
						|
});
 |