| OLD | NEW |
| 1 if (self.importScripts) { | 1 if (self.importScripts) { |
| 2 importScripts('/fetch/resources/fetch-test-helpers.js'); | 2 importScripts('/fetch/resources/fetch-test-helpers.js'); |
| 3 importScripts('/fetch/resources/thorough-util.js'); | 3 importScripts('/fetch/resources/thorough-util.js'); |
| 4 } | 4 } |
| 5 | 5 |
| 6 var TEST_TARGETS = [ | 6 var TEST_TARGETS = [ |
| 7 // Redirect: same origin -> same origin | 7 // Redirect: same origin -> same origin |
| 8 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 8 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
| 9 '&mode=same-origin&method=GET', | 9 '&mode=same-origin&method=GET', |
| 10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, | 10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, |
| 11 responseRedirected, checkURLList.bind(self, [BASE_URL])], | 11 responseRedirected, checkURLList.bind(self, [BASE_URL])], |
| 12 [methodIsGET, authCheck1]], | 12 [methodIsGET, authCheck1]], |
| 13 | 13 |
| 14 // https://fetch.spec.whatwg.org/#concept-http-fetch | 14 // https://fetch.spec.whatwg.org/#http-redirect-fetch |
| 15 // Step 4, Case 301/302/303/307/308: | 15 // Step 2: If actualResponse’s location URL is null, then return response. |
| 16 // Step 2: If location is null, return response. | |
| 17 [REDIRECT_URL + 'noLocation' + | 16 [REDIRECT_URL + 'noLocation' + |
| 18 '&mode=same-origin&method=GET&NoRedirectTest=true', | 17 '&mode=same-origin&method=GET&NoRedirectTest=true', |
| 19 [fetchResolved, hasBody, typeBasic, responseNotRedirected, | 18 [fetchResolved, hasBody, typeBasic, responseNotRedirected, |
| 20 checkURLList.bind(self, [])], | 19 checkURLList.bind(self, [])], |
| 21 [checkJsonpNoRedirect]], | 20 [checkJsonpNoRedirect]], |
| 22 // Step 5: If locationURL is failure, return a network error. | 21 // Step 3: If actualResponse’s location URL is failure, then return a network |
| 22 // error. |
| 23 [REDIRECT_URL + 'http://' + | 23 [REDIRECT_URL + 'http://' + |
| 24 '&mode=same-origin&method=GET', | 24 '&mode=same-origin&method=GET', |
| 25 [fetchRejected]], | 25 [fetchRejected]], |
| 26 | 26 |
| 27 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 27 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
| 28 '&mode=same-origin&redirectmode=manual&method=GET', |
| 29 [fetchResolved, noBody, typeOpaqueredirect, responseNotRedirected, |
| 30 checkURLList.bind(self, [])], |
| 31 [checkJsonpError]], |
| 32 [REDIRECT_URL + 'noLocation' + |
| 33 '&mode=same-origin&redirectmode=manual&method=GET&NoRedirectTest=true', |
| 34 [fetchResolved, noBody, typeOpaqueredirect, responseNotRedirected, |
| 35 checkURLList.bind(self, [])], |
| 36 [checkJsonpError]], |
| 37 // According to the spec, even if the location URL is invalid, when the |
| 38 // redirect mode is manual, fetch() must resolve with an opaque redirect |
| 39 // filtered response. But currently Chrome handles the invalid location URL in |
| 40 // the browser process as an error. See: crbug.com/707185 |
| 41 [REDIRECT_URL + 'http://' + |
| 42 '&mode=same-origin&redirectmode=manual&method=GET&NoRedirectTest=true', |
| 43 [fetchRejected]], |
| 44 |
| 45 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
| 28 '&mode=same-origin&method=GET&headers=CUSTOM', | 46 '&mode=same-origin&method=GET&headers=CUSTOM', |
| 29 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, | 47 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, |
| 30 responseRedirected, checkURLList.bind(self, [BASE_URL])], | 48 responseRedirected, checkURLList.bind(self, [BASE_URL])], |
| 31 [methodIsGET, hasCustomHeader, authCheck1]], | 49 [methodIsGET, hasCustomHeader, authCheck1]], |
| 32 // Chrome changes the method from POST to GET when it recieves 301 redirect | 50 // Chrome changes the method from POST to GET when it recieves 301 redirect |
| 33 // response. See a note in http://tools.ietf.org/html/rfc7231#section-6.4.2 | 51 // response. See a note in http://tools.ietf.org/html/rfc7231#section-6.4.2 |
| 34 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 52 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
| 35 '&mode=same-origin&method=POST&Status=301', | 53 '&mode=same-origin&method=POST&Status=301', |
| 36 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, | 54 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, |
| 37 responseRedirected, checkURLList.bind(self, [BASE_URL])], | 55 responseRedirected, checkURLList.bind(self, [BASE_URL])], |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 '&mode=cors&credentials=same-origin&method=GET&headers=CUSTOM' + | 380 '&mode=cors&credentials=same-origin&method=GET&headers=CUSTOM' + |
| 363 '&ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test', | 381 '&ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test', |
| 364 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 382 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
| 365 [methodIsGET, hasCustomHeader, authCheckNone]], | 383 [methodIsGET, hasCustomHeader, authCheckNone]], |
| 366 ]; | 384 ]; |
| 367 | 385 |
| 368 if (self.importScripts) { | 386 if (self.importScripts) { |
| 369 executeTests(TEST_TARGETS); | 387 executeTests(TEST_TARGETS); |
| 370 done(); | 388 done(); |
| 371 } | 389 } |
| OLD | NEW |