Source code
Revision control
Copy as Markdown
Other Tools
"use strict";
/**
* Test for "command" event on search input (when user clicks the x button)
*/
add_task(async function () {
await openPreferencesViaOpenPreferencesAPI("privacy", { leaveOpen: true });
let generalPane = gBrowser.contentDocument.getElementById("generalCategory");
is_element_hidden(generalPane, "Should not be in general");
// Performs search
let searchInput = gBrowser.contentDocument.getElementById("searchInput");
is(
searchInput,
gBrowser.contentDocument.activeElement.closest("#searchInput"),
"Search input should be focused when visiting preferences"
);
let query = "x";
let searchCompletedPromise = BrowserTestUtils.waitForEvent(
gBrowser.contentWindow,
"PreferencesSearchCompleted",
evt => evt.detail == query
);
EventUtils.sendString(query);
await searchCompletedPromise;
is_element_hidden(generalPane, "Should not be in generalPane");
// Takes search off with "command"
searchCompletedPromise = BrowserTestUtils.waitForEvent(
gBrowser.contentWindow,
"PreferencesSearchCompleted",
evt => evt.detail == ""
);
searchInput.select();
EventUtils.synthesizeKey("VK_BACK_SPACE");
await searchCompletedPromise;
// Checks if back to normal
is_element_visible(generalPane, "Should be in generalPane");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});