diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html b/testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html new file mode 100644 index 0000000000..379a4396ac --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<link rel="help" href="https://html.spec.whatwg.org/C/#implicit-submission"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="./resources/targetted-form.js"></script> +<body> +<script> +// This test file is "optional" because triggering implicit submission by +// "Enter" key is not standardized. + +const ENTER = '\uE007'; + +promise_test(async () => { + let form = populateForm('<input name=text value=abc><input name=submitButton type=submit>'); + let event; + form.text.focus(); + form.addEventListener('submit', e => { event = e; }); + await test_driver.send_keys(form.text, ENTER); + assert_true(event.bubbles); + assert_true(event.cancelable); + assert_equals(event.submitter, form.submitButton); + assert_true(event instanceof SubmitEvent); +}, 'Submit event with a submit button'); + +promise_test(async () => { + let form = populateForm('<input name=text value=abc>'); + let event; + form.text.focus(); + form.addEventListener('submit', e => { event = e; }); + await test_driver.send_keys(form.text, ENTER); + assert_true(event.bubbles); + assert_true(event.cancelable); + assert_equals(event.submitter, null); + assert_true(event instanceof SubmitEvent); +}, 'Submit event with no submit button'); + +promise_test(async (test) => { + let form = populateForm('<input name=text value=abc><input name=submitButton type=submit disabled>'); + form.text.focus(); + form.addEventListener('submit', test.unreached_func('submit event should not be dispatched')); + await test_driver.send_keys(form.text, ENTER); +}, 'Submit event with disabled submit button'); + +</script> +</body> |