diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/form-submission-0/submit-entity-body.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/form-submission-0/submit-entity-body.html | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/form-submission-0/submit-entity-body.html b/testing/web-platform/tests/html/semantics/forms/form-submission-0/submit-entity-body.html new file mode 100644 index 0000000000..be9c5f0696 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/form-submission-0/submit-entity-body.html @@ -0,0 +1,114 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<meta name="timeout" content="long"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +var simple_tests = [ + { + name: "form submission from form should navigate to url with x-www-form-urlencoded", + input: "<input name=foo value=bara>", + enctype: "application/x-www-form-urlencoded", + submitelement: "", + submitaction: function(doc) { doc.getElementById("testform").submit(); } + }, + { + name: "form submission from form should navigate to url with multipart/form-data", + input: "<textarea name=foo>bar</textarea>", + enctype: "multipart/form-data", + submitelement: "", + submitaction: function(doc) { doc.getElementById("testform").submit(); } + }, + { + name: "form submission from form should navigate to url with text/plain", + input: "<textarea name=qux>baz</textarea>", + enctype: "text/plain", + submitelement: "", + submitaction: function(doc) { doc.getElementById("testform").submit(); } + }, + { + name: "form submission from button should navigate to url with x-www-form-urlencoded", + input: "<input name=foo value=bara>", + enctype: "application/x-www-form-urlencoded", + submitelement: "<button id=buttonsubmit type=\"submit\">Submit</button>", + submitaction: function(doc) { doc.getElementById("buttonsubmit").click(); } + }, + { + name: "form submission from button should navigate to url with multipart/form-data", + input: "<textarea name=foo>bar</textarea>", + enctype: "multipart/form-data", + submitelement: "<button id=buttonsubmit type=\"submit\">Submit</button>", + submitaction: function(doc) { doc.getElementById("buttonsubmit").click(); } + }, + { + name: "form submission from button should navigate to url with text/plain", + input: "<textarea name=qux>baz</textarea>", + enctype: "text/plain", + submitelement: "<button id=buttonsubmit type=\"submit\">Submit</button>", + submitaction: function(doc) { doc.getElementById("buttonsubmit").click(); } + }, + { + name: "form submission from input should navigate to url with x-www-form-urlencoded", + input: "<input name=foo value=bara>", + enctype: "application/x-www-form-urlencoded", + submitelement: "<input id=inputsubmit type=\"submit\">Submit</input>", + submitaction: function(doc) { doc.getElementById("inputsubmit").click(); } + }, + { + name: "form submission from input should navigate to url with multipart/form-data", + input: "<textarea name=foo>bar</textarea>", + enctype: "multipart/form-data", + submitelement: "<input id=inputsubmit type=\"submit\">Submit</input>", + submitaction: function(doc) { doc.getElementById("inputsubmit").click(); } + }, + { + name: "form submission from input should navigate to url with text/plain", + input: "<input name=qux value=baz>", + enctype: "text/plain", + submitelement: "<input id=inputsubmit type=\"submit\">Submit</input>", + submitaction: function(doc) { doc.getElementById("inputsubmit").click(); } + }, + { + name: "form submission from submit input should contain submit button value", + input: "<button type=submit name=notclicked value=nope>not clicked</button>", + enctype: "application/x-www-form-urlencoded", + submitelement: "<button id=inputsubmit type=\"submit\" name=foo value=bara>Submit</button>", + submitaction: function(doc) { doc.getElementById("inputsubmit").click(); } + } +, + { + name: "form submission from submit button should contain submit button value", + input: "<input type=submit name=notclicked value=nope/>", + enctype: "application/x-www-form-urlencoded", + submitelement: "<input id=inputsubmit type=\"submit\" name=foo value=bara >", + submitaction: function(doc) { doc.getElementById("inputsubmit").click(); } + } +]; +simple_tests.forEach(function(test_obj) { + test_obj.test = async_test(test_obj.name); +}); +function run_simple_test() { + if (simple_tests.length == 0) { + return; + } + var test_obj = simple_tests.pop(); + var t = test_obj.test; + var testframe = document.getElementById("testframe"); + var testdocument = testframe.contentWindow.document; + testdocument.body.innerHTML = + "<form id=testform method=post action=\"/html/semantics/forms/form-submission-0/resources/form-submission.py?query=1\" enctype=\"" + test_obj.enctype + "\">" + + test_obj.input + + test_obj.submitelement + + "</form>"; + testframe.onload = function() { + t.step(function (){ + var response = testframe.contentDocument.documentElement.textContent; + assert_equals(response, "OK"); + }); + t.done(); + run_simple_test(); + }; + test_obj.submitaction(testdocument); +} +</script> +<iframe id=testframe src="/common/blank.html" onload="run_simple_test();"></iframe> |