Bug 1925561 - Use a quicker radius calculation for ArcParams. r=aosmond
[gecko.git] / accessible / tests / browser / role / browser_minimumRole.js
blobc02c35bc9c7942d9ff984af70d419b8e8ce89df5
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 "use strict";
7 /* import-globals-from ../../mochitest/role.js */
8 loadScripts({ name: "role.js", dir: MOCHITESTS_DIR });
10 /**
11  * Test that popover gets a minimum role.
12  */
13 addAccessibleTask(
14   `
15 <div id="generic" popover>generic</div>
16 <div id="alert" role="alert" popover>alert</div>
17 <blockquote id="blockquote" popover>blockquote</div>
18   `,
19   async function testPopover(browser, docAcc) {
20     let generic = findAccessibleChildByID(docAcc, "generic");
21     ok(!generic, "generic doesn't have an Accessible");
22     info("Showing generic");
23     let shown = waitForEvent(EVENT_SHOW, "generic");
24     await invokeContentTask(browser, [], () => {
25       content.document.getElementById("generic").showPopover();
26     });
27     generic = (await shown).accessible;
28     testRole(generic, ROLE_GROUPING, "generic has minimum role group");
29     info("Setting popover to null on generic");
30     // Setting popover to null causes the Accessible to be recreated.
31     shown = waitForEvent(EVENT_SHOW, "generic");
32     await invokeContentTask(browser, [], () => {
33       content.document.getElementById("generic").popover = null;
34     });
35     generic = (await shown).accessible;
36     testRole(generic, ROLE_SECTION, "generic has generic role");
38     let alert = findAccessibleChildByID(docAcc, "alert");
39     ok(!alert, "alert doesn't have an Accessible");
40     info("Showing alert");
41     shown = waitForEvent(EVENT_SHOW, "alert");
42     await invokeContentTask(browser, [], () => {
43       content.document.getElementById("alert").showPopover();
44     });
45     alert = (await shown).accessible;
46     testRole(alert, ROLE_ALERT, "alert has role alert");
48     let blockquote = findAccessibleChildByID(docAcc, "blockquote");
49     ok(!blockquote, "blockquote doesn't have an Accessible");
50     info("Showing blockquote");
51     shown = waitForEvent(EVENT_SHOW, "blockquote");
52     await invokeContentTask(browser, [], () => {
53       content.document.getElementById("blockquote").showPopover();
54     });
55     blockquote = (await shown).accessible;
56     testRole(blockquote, ROLE_BLOCKQUOTE, "blockquote has role blockquote");
57   },
58   { chrome: true, topLevel: true }