| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>Request init: simple cases</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 methods = {"givenValues" : ["GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "head"], | |
| "expectedValues" : ["GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"] | |
| }; | |
| var referrers = {"givenValues" : ["/relative/ressource", | |
| "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment", | |
| "http://{{host}}:{{ports[http][0]}}/", | |
| "http://test.url", | |
| "about:client", | |
| "" | |
| ], | |
| "expectedValues" : ["http://{{host}}:{{ports[http][0]}}/relative/ressource", | |
| "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment", | |
| "http://{{host}}:{{ports[http][0]}}/", | |
| "about:client", | |
| "about:client", | |
| "" | |
| ] | |
| }; | |
| var referrerPolicies = {"givenValues" : [ "", | |
| "no-referrer", | |
| "no-referrer-when-downgrade", | |
| "origin", | |
| "origin-when-cross-origin", | |
| "unsafe-url", | |
| "same-origin", | |
| "strict-origin", | |
| "strict-origin-when-cross-origin" | |
| ], | |
| "expectedValues" : ["", | |
| "no-referrer", | |
| "no-referrer-when-downgrade", | |
| "origin", | |
| "origin-when-cross-origin", | |
| "unsafe-url", | |
| "same-origin", | |
| "strict-origin", | |
| "strict-origin-when-cross-origin" | |
| ] | |
| }; | |
| // Allow 'navigate' to be passed in as a valid mode to requestInit. This is | |
| // necessary since Request is a polyfill and there is no other way to set | |
| // mode to 'navigate'. | |
| var modes = {"givenValues" : ["same-origin", "no-cors", "cors", "navigate"], | |
| "expectedValues" : ["same-origin", "no-cors", "cors", "navigate"] | |
| }; | |
| var credentials = {"givenValues" : ["omit", "same-origin", "include"], | |
| "expectedValues" : ["omit", "same-origin", "include"] | |
| }; | |
| var caches = {"givenValues" : [ "default", "no-store", "reload", "no-cache", "force-cache"], | |
| "expectedValues" : [ "default", "no-store", "reload", "no-cache", "force-cache"] | |
| }; | |
| var redirects = {"givenValues" : ["follow", "error", "manual"], | |
| "expectedValues" : ["follow", "error", "manual"] | |
| }; | |
| var integrities = {"givenValues" : ["", "AZERTYUIOP1234567890" ], | |
| "expectedValues" : ["", "AZERTYUIOP1234567890"] | |
| }; | |
| //there is no getter for window, init's window might be null | |
| var windows = {"givenValues" : [ null ], | |
| "expectedValues" : [undefined] | |
| }; | |
| var initValuesDict = { "method" : methods, | |
| // Referrer is not supported due to privacy concerns. | |
| //"referrer" : referrers, | |
| //"referrerPolicy" : referrerPolicies, | |
| "mode" : modes, | |
| "credentials" : credentials, | |
| "cache" : caches, | |
| "redirect" : redirects, | |
| "integrity" : integrities, | |
| "window" : windows | |
| }; | |
| for (var attributeName in initValuesDict) { | |
| var valuesToTest = initValuesDict[attributeName]; | |
| for (var valueIdx in valuesToTest["givenValues"]) { | |
| var givenValue = valuesToTest["givenValues"][valueIdx]; | |
| var expectedValue = valuesToTest["expectedValues"][valueIdx]; | |
| test(function() { | |
| var requestInit = {}; | |
| requestInit[attributeName] = givenValue | |
| var request = new Request("", requestInit); | |
| assert_equals(request[attributeName], expectedValue, | |
| "Expect request's " + attributeName + " is " + expectedValue + " when initialized with " + givenValue); | |
| }, "Check " + attributeName + " init value of " + givenValue + " and associated getter"); | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> |