summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/form-submission-0/submission-checks.window.js
diff options
context:
space:
mode:
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.js62
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");