90 lines
2 KiB
JavaScript
90 lines
2 KiB
JavaScript
"use strict";
|
|
|
|
/* import-globals-from ../../mochitest/role.js */
|
|
loadScripts({ name: "role.js", dir: MOCHITESTS_DIR });
|
|
|
|
const { CustomizableUITestUtils } = ChromeUtils.importESModule(
|
|
"resource://testing-common/CustomizableUITestUtils.sys.mjs"
|
|
);
|
|
let gCUITestUtils = new CustomizableUITestUtils(window);
|
|
|
|
// eslint-disable-next-line camelcase
|
|
add_task(async function test_searchbar_a11y_tree() {
|
|
let searchbar = await gCUITestUtils.addSearchBar();
|
|
|
|
// Make sure the popup has been rendered so it shows up in the a11y tree.
|
|
let popup = document.getElementById("PopupSearchAutoComplete");
|
|
let promise = Promise.all([
|
|
BrowserTestUtils.waitForEvent(popup, "popupshown", false),
|
|
waitForEvent(EVENT_SHOW, popup),
|
|
]);
|
|
searchbar.textbox.openPopup();
|
|
await promise;
|
|
|
|
let TREE = {
|
|
role: ROLE_EDITCOMBOBOX,
|
|
|
|
children: [
|
|
// image button toggling the results list
|
|
{
|
|
role: ROLE_BUTTONMENU,
|
|
children: [],
|
|
},
|
|
|
|
// input element
|
|
{
|
|
role: ROLE_SEARCHBOX,
|
|
children: [],
|
|
},
|
|
|
|
// context menu
|
|
{
|
|
role: ROLE_COMBOBOX_LIST,
|
|
children: [],
|
|
},
|
|
|
|
// result list
|
|
{
|
|
role: ROLE_GROUPING,
|
|
// not testing the structure inside the result list
|
|
},
|
|
],
|
|
};
|
|
|
|
testAccessibleTree(searchbar, TREE);
|
|
|
|
promise = Promise.all([
|
|
BrowserTestUtils.waitForEvent(popup, "popuphidden", false),
|
|
waitForEvent(EVENT_HIDE, popup),
|
|
]);
|
|
searchbar.textbox.closePopup();
|
|
await promise;
|
|
|
|
TREE = {
|
|
role: ROLE_EDITCOMBOBOX,
|
|
|
|
children: [
|
|
// image button toggling the results list
|
|
{
|
|
role: ROLE_BUTTONMENU,
|
|
children: [],
|
|
},
|
|
|
|
// input element
|
|
{
|
|
role: ROLE_SEARCHBOX,
|
|
children: [],
|
|
},
|
|
|
|
// context menu
|
|
{
|
|
role: ROLE_COMBOBOX_LIST,
|
|
children: [],
|
|
},
|
|
|
|
// the result list should be removed from the tree on popuphidden
|
|
],
|
|
};
|
|
|
|
testAccessibleTree(searchbar, TREE);
|
|
});
|