summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
blob: 382181551544072f8ee24f0a6dba89ea3e529558 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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');