summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/url-setters.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/url/url-setters.html')
-rw-r--r--testing/web-platform/tests/url/url-setters.html46
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>