/* 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/. */

/* global EVENT_HIDE */

'use strict';

/**
 * Test hide event and its interface:
 *   - targetParent
 *   - targetNextSibling
 *   - targetPrevSibling
 */
addAccessibleTask(`
  <div id="parent">
    <div id="previous"></div>
    <div id="div"></div>
    <div id="next"></div>
  </div>`, function*(browser) {
  let onHide = waitForEvent(EVENT_HIDE, 'div');
  yield invokeSetStyle(browser, 'div', 'visibility', 'hidden');
  let event = yield onHide;
  let hideEvent = event.QueryInterface(Ci.nsIAccessibleHideEvent);

  is(getAccessibleDOMNodeID(hideEvent.targetParent), 'parent',
    'Correct target parent.');
  is(getAccessibleDOMNodeID(hideEvent.targetNextSibling), 'next',
    'Correct target next sibling.');
  is(getAccessibleDOMNodeID(hideEvent.targetPrevSibling), 'previous',
    'Correct target previous sibling.');
});
