summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/form-submission-0/implicit-submission.optional.html
diff options
context:
space:
mode:
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.html47
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>