summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js')
-rw-r--r--testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js b/testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
new file mode 100644
index 0000000000..3821815515
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
@@ -0,0 +1,41 @@
+// 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');