| Index: third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-structure.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-structure.html b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-structure.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cbe6cee999f31b3b60226cb992ca6c1170ae272c
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-structure.html
|
| @@ -0,0 +1,134 @@
|
| +<!doctype html>
|
| +<html>
|
| + <head>
|
| + <meta charset="utf-8">
|
| + <title>Request structure</title>
|
| + <meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
| + <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
|
| + <script src="/resources/testharness.js"></script>
|
| + <script src="/resources/testharnessreport.js"></script>
|
| + </head>
|
| + <body>
|
| + <script>
|
| + var request = new Request("");
|
| + var methods = ["clone",
|
| + //Request implements Body
|
| + "arrayBuffer",
|
| + "blob",
|
| + "formData",
|
| + "json",
|
| + "text"
|
| + ];
|
| + var attributes = ["method",
|
| + "url",
|
| + "headers",
|
| + "type",
|
| + "destination",
|
| + "referrer",
|
| + "referrerPolicy",
|
| + "mode",
|
| + "credentials",
|
| + "cache",
|
| + "redirect",
|
| + "integrity",
|
| + //Request implements Body
|
| + "bodyUsed"
|
| + ];
|
| +
|
| + function IsreadOnly(request, attributeToCheck) {
|
| + var defaultValue = undefined;
|
| + var newValue = undefined;
|
| + switch (attributeToCheck) {
|
| + case "method":
|
| + defaultValue = "GET";
|
| + newValue = "POST";
|
| + break;
|
| +
|
| + case "url":
|
| + //default value is base url
|
| + //i.e http://web-platform.test:8000/fetch/api/request-structure.html
|
| + newValue = "http://url.test";
|
| + break;
|
| +
|
| + case "headers":
|
| + request.headers = new Headers ({"name":"value"});
|
| + assert_false(request.headers.has("name"), "Headers attribute is read only");
|
| + return;
|
| + break;
|
| +
|
| + case "type":
|
| + defaultValue = "";
|
| + newValue = "style";
|
| + break;
|
| +
|
| + case "destination":
|
| + defaultValue = "";
|
| + newValue = "worker";
|
| + break;
|
| +
|
| + case "referrer":
|
| + defaultValue = "about:client";
|
| + newValue = "http://url.test";
|
| + break;
|
| +
|
| + case "referrerPolicy":
|
| + defaultValue = "";
|
| + newValue = "unsafe-url";
|
| + break;
|
| +
|
| + case "mode":
|
| + defaultValue = "cors";
|
| + newValue = "navigate";
|
| + break;
|
| +
|
| + case "credentials":
|
| + defaultValue = "omit";
|
| + newValue = "cors";
|
| + break;
|
| +
|
| + case "cache":
|
| + defaultValue = "default";
|
| + newValue = "reload";
|
| + break;
|
| +
|
| + case "redirect":
|
| + defaultValue = "follow";
|
| + newValue = "manual";
|
| + break;
|
| +
|
| + case "integrity":
|
| + newValue = "CannotWriteIntegrity";
|
| + break;
|
| +
|
| + case "bodyUsed":
|
| + defaultValue = false;
|
| + newValue = true;
|
| + break;
|
| +
|
| + default:
|
| + return;
|
| + }
|
| +
|
| + request[attributeToCheck] = newValue;
|
| + if (defaultValue === undefined)
|
| + assert_not_equals(request[attributeToCheck], newValue, "Attribute " + attributeToCheck + " is read only");
|
| + else
|
| + assert_equals(request[attributeToCheck], defaultValue,
|
| + "Attribute " + attributeToCheck + " is read only. Default value is " + defaultValue);
|
| + }
|
| +
|
| + for (var idx in methods) {
|
| + test(function() {
|
| + assert_true(methods[idx] in request, "request has " + methods[idx] + " method");
|
| + }, "Request has " + methods[idx] + " method");
|
| + }
|
| +
|
| + for (var idx in attributes) {
|
| + test(function() {
|
| + assert_true(attributes[idx] in request, "request has " + attributes[idx] + " attribute");
|
| + IsreadOnly(request, attributes[idx]);
|
| + }, "Check " + attributes[idx] + " attribute");
|
| + }
|
| + </script>
|
| + </body>
|
| +</html>
|
|
|