Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/forms/form-submission-0/SubmitEvent.window.html - WPT Dashboard Interop Dashboard
// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#the-submitevent-interface
test(() => {
assert_throws_js(TypeError, () => SubmitEvent(""), "Calling SubmitEvent constructor without 'new' must throw");
assert_throws_js(TypeError, () => { new SubmitEvent() }, '0 arguments');
assert_throws_js(TypeError, () => { new SubmitEvent('foo', { submitter: 'bar' }) }, 'Wrong type of submitter');
}, 'Failing SubmitEvent constructor');
test(() => {
let button = document.createElement('button');
let event = new SubmitEvent('bar', { submitter: button, bubbles: true });
assert_equals(event.submitter, button);
assert_true(event.bubbles);
}, 'Successful SubmitEvent constructor');
test(() => {
let event1 = new SubmitEvent('bar', {submitter: null});
assert_equals(event1.submitter, null);
let event2 = new SubmitEvent('baz', {submitter: undefined});
assert_equals(event2.submitter, null);
}, 'Successful SubmitEvent constructor; null/undefined submitter');
test(() => {
let event1 = new SubmitEvent('bar', null);
assert_equals(event1.submitter, null);
let event2 = new SubmitEvent('baz', undefined);
assert_equals(event2.submitter, null);
}, 'Successful SubmitEvent constructor; null/undefined dictionary');
test(() => {
let event1 = new SubmitEvent('bar', {});
assert_equals(event1.submitter, null);
let button = document.createElement('button');
let event2 = new SubmitEvent("bax", button);
assert_equals(event2.submitter, null);
}, 'Successful SubmitEvent constructor; empty dictionary');
test(() => {
let event = new SubmitEvent('bar');
assert_equals(event.submitter, null);
}, 'Successful SubmitEvent constructor; missing dictionary');