diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js b/testing/web-platform/tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js new file mode 100644 index 0000000000..4890fd8623 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js @@ -0,0 +1,21 @@ +// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#the-formdataevent-interface + +test(() => { + let fd = new FormData(); + assert_throws_js(TypeError, () => { FormDataEvent('', {formData:fd}) }, "Calling FormDataEvent constructor without 'new' must throw"); + assert_throws_js(TypeError, () => { new FormDataEvent() }, '0 arguments'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo') }, '1 argument'); + assert_throws_js(TypeError, () => { new FormDataEvent(fd, fd) }, '2 invalid arguments'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo', null) }, 'Null dictionary'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo', undefined) }, 'Undefined dictionary'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: null }) }, 'Null formData'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: undefined }) }, 'Undefined formData'); + assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: 'bar' }) }, 'Wrong type of formData'); +}, 'Failing FormDataEvent constructor'); + +test(() => { + let fd = new FormData(); + let event = new FormDataEvent('bar', { formData: fd, bubbles: true }); + assert_equals(event.formData, fd); + assert_true(event.bubbles); +}, 'Successful FormDataEvent constructor'); |