5 <title>Fetch: retrieve response's body progressively</title>
6 <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
7 <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
8 <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
9 <script src="/js-test-resources/testharness.js"></script>
10 <script src="/js-test-resources/testharnessreport.js"></script>
11 <link rel=preload as=fetch onload="startTests()" href="./resources/redirect-with-cache.php?enableCaching&url=http://localhost:8000/security/resources/allow-if-origin.php?allowCache&origin=http%3A%2F%2F127.0.0.1%3A8000&name=alert-fail.js&contentType=text/ascii">
17 var preloadUrl = "./resources/redirect-with-cache.php?enableCaching&url=http://localhost:8000/security/resources/allow-if-origin.php?allowCache&origin=http%3A%2F%2F127.0.0.1%3A8000&name=alert-fail.js&contentType=text/ascii";
18 promise_test(function(test) {
19 return fetch(preloadUrl, {redirect: "manual", mode: "no-cors", credentials: "include"}).then((response) => {
20 assert_equals(response.type, "opaqueredirect", "Response's type should be opaqueRedirect");
21 return response.text();
23 assert_equals(text, "");
25 }, "Fetch should check for redirections even if resource is preloaded (same fetch options except for redirect mode)");
27 promise_test(function(test) {
28 return fetch(preloadUrl, {redirect: "manual", mode: "cors", credentials: "include"}).then((response) => {
29 assert_equals(response.type, "opaqueredirect", "Response's type should be opaqueRedirect");
30 return response.text();
32 assert_equals(text, "");
34 }, "Fetch should check for redirections even if resource is preloaded (different fetch mode, different redirect mode)");
36 promise_test(function(test) {
37 return promise_rejects(test, new TypeError(), fetch(preloadUrl, {redirect: "error", mode: "no-cors", credentials: "include"}));
38 }, "Fetch should check for redirections even if resource is preloaded (same fetch options except for redirect mode)");
40 promise_test(function(test) {
41 return promise_rejects(test, new TypeError(), fetch(preloadUrl, {redirect: "error", mode: "cors", credentials: "include"}));
42 }, "Fetch should check for redirections even if resource is preloaded (different fetch mode, different redirect mode)");