diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-22 05:03:25 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-22 05:03:25 +0530 |
commit | d339d6d3d9242b66831b17cd5513b3e363ee58cc (patch) | |
tree | 2745049a65ffca6802b05af977a6690c859bf9ba | |
parent | ea690a2dff64d1cb4eb668473d62f1bbcb19f7c8 (diff) | |
parent | 8c93046b1c75864fbfe8b42b6bd5ae3970db2e86 (diff) | |
download | servo-d339d6d3d9242b66831b17cd5513b3e363ee58cc.tar.gz servo-d339d6d3d9242b66831b17cd5513b3e363ee58cc.zip |
Auto merge of #7923 - eefriedman:url-encoded-test, r=nox
Add test for URL-encoded form submission.
This turned out to be a little more complicated than I was hoping...
but I can't really think of a better way to do this.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7923)
<!-- Reviewable:end -->
3 files changed, 61 insertions, 1 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 32f8cbe9300..28194a3df92 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -29947,7 +29947,16 @@ }, "local_changes": { "deleted": [], - "items": {}, + "items": { + "testharness": { + "html/semantics/forms/form-submission-0/url-encoded.html": [ + { + "path": "html/semantics/forms/form-submission-0/url-encoded.html", + "url": "/html/semantics/forms/form-submission-0/url-encoded.html" + } + ] + } + }, "reftest_nodes": {} }, "reftest_nodes": { diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/url-encoded.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/url-encoded.html.ini new file mode 100644 index 00000000000..4f322ca7011 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/url-encoded.html.ini @@ -0,0 +1,5 @@ +[url-encoded.html] + type: testharness + [textarea.simple] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/url-encoded.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/url-encoded.html new file mode 100644 index 00000000000..5965b66330b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/url-encoded.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe id=testframe src="/common/blank.html"></iframe> +<script> +var simple_tests = [ + { + name: "text.simple", + input: "<input name=foo value=bara>", + output: "foo=bara" + }, + { + name: "textarea.simple", + input: "<textarea name=foo>bar</textarea>", + output: "foo=bar" + }, +]; +simple_tests.forEach(function(test_obj) { + test_obj.test = async_test(test_obj.name); +}); +function run_simple_test() { + if (simple_tests.length == 0) { + return; + } + 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 action=\"/common/blank.html\">" + + test_obj.input + + "</form>"; + testframe.onload = function() { + t.step(function (){ + var get_url = testframe.contentWindow.location.toString(); + var encoded = get_url.substr(get_url.indexOf("?") + 1); + assert_equals(encoded, test_obj.output); + }); + t.done(); + run_simple_test(); + }; + testdocument.getElementById("testform").submit(); +} +document.getElementById("testframe").onload = run_simple_test; +</script> |