summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/nodes/insertion-removing-steps/blur-event.window.js
blob: fdca02dcdab50b8ac570b74a242d5f167d65ee09 (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
test(() => {
  const input = document.body.appendChild(document.createElement('input'));
  input.focus();

  let blurCalled = false;
  input.onblur = e => blurCalled = true;
  input.remove();
  assert_false(blurCalled, "Blur event was not fired");
}, "<input> element does not fire blur event upon DOM removal");

test(() => {
  const button = document.body.appendChild(document.createElement('button'));
  button.focus();

  let blur_called = false;
  let focus_out_called = false;
  let focus_called = false;

  button.onblur = () => { blur_called = true; }
  button.onfocusout = () => { focus_out_called = true; }
  document.body.addEventListener("focus",
    () => { focus_called = true; }, {capture: true});
  button.remove();

  assert_false(blur_called, "Blur event was not fired");
  assert_false(focus_out_called, "FocusOut event was not fired");
  assert_false(focus_called, "Focus was not fired");
}, "<button> element does not fire blur/focusout events upon DOM removal");