chromium/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/dialog-close-event-async.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>dialog element: close()</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:[email protected]">
<link rel=help href="https://html.spec.whatwg.org/multipage/#the-dialog-element">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<dialog id="d1" open>
  <p>foobar</p>
  <button>OK</button>
</dialog>
<script>
  var d1 = document.getElementById('d1'),
      t = async_test("close() fires a close event"),
      was_queued = false;

  d1.onclose = t.step_func_done(function(e) {
    assert_true(was_queued, "close event should be queued");
    assert_true(e.isTrusted, "close event is trusted");
    assert_false(e.bubbles, "close event doesn't bubble");
    assert_false(e.cancelable, "close event is not cancelable");
  });

  t.step(function() {
    d1.close();
    was_queued = true;
  })
</script>
</body>
</html>