diff options
Diffstat (limited to 'testing/web-platform/tests/url/url-setters.html')
-rw-r--r-- | testing/web-platform/tests/url/url-setters.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/url/url-setters.html b/testing/web-platform/tests/url/url-setters.html new file mode 100644 index 000000000..32f52ee79 --- /dev/null +++ b/testing/web-platform/tests/url/url-setters.html @@ -0,0 +1,46 @@ +<!doctype html> +<meta charset=utf-8> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +function startURLSettersTests() { + var setup = async_test("Loading data…") + setup.step(function() { + var request = new XMLHttpRequest() + request.open("GET", "setters_tests.json") + request.send() + request.responseType = "json" + request.onload = setup.step_func(function() { + runURLSettersTests(request.response) + setup.done() + }) + }) +} + +function runURLSettersTests(all_test_cases) { + for (var attribute_to_be_set in all_test_cases) { + if (attribute_to_be_set == "comment") { + continue; + } + var test_cases = all_test_cases[attribute_to_be_set]; + for(var i = 0, l = test_cases.length; i < l; i++) { + var test_case = test_cases[i]; + var name = "Setting <" + test_case.href + ">." + attribute_to_be_set + + " = '" + test_case.new_value + "'"; + if ("comment" in test_case) { + name += " " + test_case.comment; + } + test(function() { + var url = new URL(test_case.href); + url[attribute_to_be_set] = test_case.new_value; + for (var attribute in test_case.expected) { + assert_equals(url[attribute], test_case.expected[attribute]) + } + }, name) + } + } +} + +startURLSettersTests() +</script> |