summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/form-submission-0/historical.window.js
blob: fcc47d90f668437ea072495e8cd41a37c58a1ad7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// META: script=./resources/targetted-form.js

test(t => {
  const form = populateForm('<input required><input type=submit>');
  t.add_cleanup(() => {
    form.previousElementSibling.remove();
    form.remove();
  });
  const submitter = form.querySelector('input[type=submit]');
  let invalid = form.querySelector('[required]');
  let targets = [];
  const listener = e => targets.push(e.target.localName);
  form.addEventListener("invalid", t.step_func(listener));
  form.oninvalid = t.step_func(listener);
  invalid.addEventListener("invalid", t.step_func(listener));
  invalid.oninvalid = t.step_func(listener);
  submitter.click();
  assert_array_equals(targets, ["input", "input"]);
}, "invalid event is only supported for form controls");