browser_search_within_preferences_command.js (1360B)
1 "use strict"; 2 3 /** 4 * Test for "command" event on search input (when user clicks the x button) 5 */ 6 add_task(async function () { 7 await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true }); 8 let generalPane = gBrowser.contentDocument.getElementById("generalCategory"); 9 10 is_element_hidden(generalPane, "Should not be in general"); 11 12 // Performs search 13 let searchInput = gBrowser.contentDocument.getElementById("searchInput"); 14 is( 15 searchInput, 16 gBrowser.contentDocument.activeElement.closest("#searchInput"), 17 "Search input should be focused when visiting preferences" 18 ); 19 20 let query = "x"; 21 let searchCompletedPromise = BrowserTestUtils.waitForEvent( 22 gBrowser.contentWindow, 23 "PreferencesSearchCompleted", 24 evt => evt.detail == query 25 ); 26 EventUtils.sendString(query); 27 await searchCompletedPromise; 28 29 is_element_hidden(generalPane, "Should not be in generalPane"); 30 31 // Takes search off with "command" 32 searchCompletedPromise = BrowserTestUtils.waitForEvent( 33 gBrowser.contentWindow, 34 "PreferencesSearchCompleted", 35 evt => evt.detail == "" 36 ); 37 searchInput.select(); 38 EventUtils.synthesizeKey("VK_BACK_SPACE"); 39 await searchCompletedPromise; 40 41 // Checks if back to normal 42 is_element_visible(generalPane, "Should be in generalPane"); 43 44 BrowserTestUtils.removeTab(gBrowser.selectedTab); 45 });