forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
add_task(async function() {
 | 
						|
  await PlacesUtils.history.clear();
 | 
						|
 | 
						|
  await PlacesTestUtils.addVisits([
 | 
						|
    { uri: makeURI("http://example.com/foo") },
 | 
						|
    { uri: makeURI("http://example.com/foo/bar") },
 | 
						|
  ]);
 | 
						|
 | 
						|
  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank");
 | 
						|
  registerCleanupFunction(async function() {
 | 
						|
    BrowserTestUtils.removeTab(tab);
 | 
						|
    await PlacesUtils.history.clear();
 | 
						|
  });
 | 
						|
 | 
						|
  await promiseAutocompleteResultPopup("http://example.com");
 | 
						|
  await waitForAutocompleteResultAt(1);
 | 
						|
 | 
						|
  let popup = gURLBar.popup;
 | 
						|
  let list = popup.richlistbox;
 | 
						|
  let initialIndex = list.selectedIndex;
 | 
						|
 | 
						|
  info("Key Down to select the next item.");
 | 
						|
  EventUtils.synthesizeKey("KEY_ArrowDown");
 | 
						|
 | 
						|
  let nextIndex = initialIndex + 1;
 | 
						|
  let nextValue = gURLBar.controller.getFinalCompleteValueAt(nextIndex);
 | 
						|
  is(list.selectedIndex, nextIndex, "The next item is selected.");
 | 
						|
  is(gURLBar.value, nextValue, "The selected URL is completed.");
 | 
						|
 | 
						|
  info("Press backspace");
 | 
						|
  EventUtils.synthesizeKey("KEY_Backspace");
 | 
						|
  await promiseSearchComplete();
 | 
						|
 | 
						|
  let editedValue = gURLBar.textValue;
 | 
						|
  is(list.selectedIndex, initialIndex, "The initial index is selected again.");
 | 
						|
  isnot(editedValue, nextValue, "The URL has changed.");
 | 
						|
 | 
						|
  let docLoad = waitForDocLoadAndStopIt("http://" + editedValue);
 | 
						|
 | 
						|
  info("Press return to load edited URL.");
 | 
						|
  EventUtils.synthesizeKey("KEY_Enter");
 | 
						|
  await Promise.all([
 | 
						|
    promisePopupHidden(gURLBar.popup),
 | 
						|
    docLoad,
 | 
						|
  ]);
 | 
						|
 | 
						|
});
 |