summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/submit-dialog-close-event.html
diff options
context:
space:
mode:
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.html34
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>