summaryrefslogtreecommitdiffstats
path: root/accessible/tests/browser/e10s/browser_treeupdate_removal.js
blob: 9892bbcd68df242981e61ae495e6285acd8c3e39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

'use strict';

/* global EVENT_REORDER */

loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });

addAccessibleTask('doc_treeupdate_removal.xhtml', function*(browser, accDoc) {
  ok(isAccessible(findAccessibleChildByID(accDoc, 'the_table')),
    'table should be accessible');

  // Move the_table element into hidden subtree.
  let onReorder = waitForEvent(EVENT_REORDER, 'body');
  yield ContentTask.spawn(browser, {}, () => content.document.getElementById(
    'the_displaynone').appendChild(content.document.getElementById(
      'the_table')));
  yield onReorder;

  ok(!isAccessible(findAccessibleChildByID(accDoc, 'the_table')),
    'table in display none tree shouldn\'t be accessible');
  ok(!isAccessible(findAccessibleChildByID(accDoc, 'the_row')),
    'row shouldn\'t be accessible');

  // Remove the_row element (since it did not have accessible, no event needed).
  yield ContentTask.spawn(browser, {}, () =>
    content.document.body.removeChild(
      content.document.getElementById('the_row')));

  // make sure no accessibles have stuck around.
  ok(!isAccessible(findAccessibleChildByID(accDoc, 'the_row')),
    'row shouldn\'t be accessible');
  ok(!isAccessible(findAccessibleChildByID(accDoc, 'the_table')),
    'table shouldn\'t be accessible');
  ok(!isAccessible(findAccessibleChildByID(accDoc, 'the_displayNone')),
    'display none things shouldn\'t be accessible');
});