diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html new file mode 100644 index 0000000000..5954993d19 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=author href="mailto:falken@chromium.org"> +<link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element"> +<link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=304827"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<dialog> + <form method="dialog"> + <input id="goodbye" type="submit" value="Goodbye"> + <input id="hello" type="submit" value="Hello"> + </form> +</dialog> + +<script> +async_test(t => { + const dialog = document.querySelector('dialog'); + dialog.show(); + dialog.addEventListener('close', t.step_func(() => { + assert_false(dialog.open); + assert_equals(dialog.returnValue, 'Goodbye'); + + dialog.show(); + dialog.addEventListener('close', t.step_func_done(() => { + assert_false(dialog.open); + assert_equals(dialog.returnValue, 'Hello'); + })); + document.querySelector('#hello').click(); + }), {once: true}); + + document.querySelector('#goodbye').click(); +}, 'Tests submitting a dialog on a close event triggered by a previous submission.'); +</script> |