diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js b/testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js new file mode 100644 index 0000000000..e242ce830a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js @@ -0,0 +1,62 @@ +async_test(t => { + const frame = document.createElement("frame"), + form = document.createElement("form"); + t.add_cleanup(() => frame.remove()); + form.action = "/common/blank.html"; + form.target = "doesnotmattertwobits"; + frame.name = "doesnotmattertwobits"; + document.body.appendChild(frame); + frame.onload = t.step_func(() => { + if(frame.contentWindow.location.href === "about:blank") + return; + assert_unreached(); + }); + form.submit(); + t.step_timeout(() => { + assert_equals(frame.contentWindow.location.href, "about:blank"); + t.done(); + }, 500); +}, "<form> not connected to a document cannot navigate"); + +async_test(t => { + const frame = document.createElement("frame"), + form = document.createElement("form"); + t.add_cleanup(() => frame.remove()); + form.action = "/common/blank.html"; + form.target = "doesnotmattertwoqbits"; + form.onsubmit = t.step_func(() => form.remove()); + frame.name = "doesnotmattertwoqbits"; + document.body.appendChild(frame); + document.body.appendChild(form); + frame.onload = t.step_func(() => { + if(frame.contentWindow.location.href === "about:blank") + return; + assert_unreached(); + }); + const submit = form.appendChild(document.createElement("input")); + submit.type = "submit" + submit.click(); + t.step_timeout(() => { + assert_equals(frame.contentWindow.location.href, "about:blank"); + t.done(); + }, 500); +}, "<form> not connected to a document after submit event cannot navigate"); + +async_test(t => { + const frame = document.createElement("frame"), + form = document.createElement("form"); + t.add_cleanup(() => frame.remove()); + form.action = "/"; + document.body.appendChild(frame); + frame.contentDocument.body.appendChild(form); + frame.onload = t.step_func(() => { + if(frame.contentWindow.location.href === "about:blank") + return; + form.submit(); + t.step_timeout(() => { + assert_equals(frame.contentWindow.location.pathname, "/common/blank.html"); + t.done(); + }, 500) + }); + frame.src = "/common/blank.html"; +}, "<form> in a navigated document cannot navigate"); |