Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/fetch/script-tests/thorough/redirect-nocors.js

Issue 2524703002: Introduce Response.redirect attribute and add LayoutTest. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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=no-cors&method=GET&headers=CUSTOM', 9 '&mode=no-cors&method=GET&headers=CUSTOM',
10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic, 10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic,
11 checkURLList.bind(self, [BASE_URL])], 11 responseRedirected, checkURLList.bind(self, [BASE_URL])],
12 [methodIsGET, noCustomHeader, authCheck1]], 12 [methodIsGET, noCustomHeader, authCheck1]],
13 13
14 // Redirect: same origin -> other origin 14 // Redirect: same origin -> other origin
15 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 15 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
16 '&mode=no-cors&method=GET&headers=CUSTOM', 16 '&mode=no-cors&method=GET&headers=CUSTOM',
17 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 17 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
18 checkURLList.bind(self, [OTHER_BASE_URL])], 18 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
19 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck2])], 19 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck2])],
20 20
21 // Status code tests for mode="no-cors" 21 // Status code tests for mode="no-cors"
22 // The 301 redirect response changes POST method to GET method. 22 // The 301 redirect response changes POST method to GET method.
23 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 23 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
24 '&mode=no-cors&method=POST&Status=301', 24 '&mode=no-cors&method=POST&Status=301',
25 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 25 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
26 checkURLList.bind(self, [OTHER_BASE_URL])], 26 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
27 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], 27 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])],
28 // The 302 redirect response changes POST method to GET method. 28 // The 302 redirect response changes POST method to GET method.
29 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 29 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
30 '&mode=no-cors&method=POST', 30 '&mode=no-cors&method=POST',
31 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 31 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
32 checkURLList.bind(self, [OTHER_BASE_URL])], 32 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
33 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], 33 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])],
34 // GET method must be used for 303 redirect. 34 // GET method must be used for 303 redirect.
35 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 35 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
36 '&mode=no-cors&method=POST&Status=303', 36 '&mode=no-cors&method=POST&Status=303',
37 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 37 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
38 checkURLList.bind(self, [OTHER_BASE_URL])], 38 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
39 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], 39 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])],
40 // The 307 redirect response doesn't change the method. 40 // The 307 redirect response doesn't change the method.
41 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 41 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
42 '&mode=no-cors&method=POST&Status=307', 42 '&mode=no-cors&method=POST&Status=307',
43 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 43 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
44 checkURLList.bind(self, [OTHER_BASE_URL])], 44 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
45 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])], 45 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])],
46 // The 308 redirect response doesn't change the method. 46 // The 308 redirect response doesn't change the method.
47 // FIXME: disabled due to https://crbug.com/451938 47 // FIXME: disabled due to https://crbug.com/451938
48 // [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 48 // [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
49 // '&mode=no-cors&method=POST&Status=308', 49 // '&mode=no-cors&method=POST&Status=308',
50 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], 50 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque],
51 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])], 51 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])],
52 52
53 // Redirect: other origin -> same origin 53 // Redirect: other origin -> same origin
54 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 54 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
55 '&mode=no-cors&method=GET', 55 '&mode=no-cors&method=GET',
56 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 56 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
57 checkURLList.bind(self, [BASE_URL])], 57 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
58 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], 58 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])],
59 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 59 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
60 '&mode=no-cors&method=GET&headers=CUSTOM', 60 '&mode=no-cors&method=GET&headers=CUSTOM',
61 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 61 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
62 checkURLList.bind(self, [BASE_URL])], 62 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
63 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck1])], 63 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck1])],
64 64
65 // Status code tests for mode="no-cors" 65 // Status code tests for mode="no-cors"
66 // The 301 redirect response MAY change the request method from POST to GET. 66 // The 301 redirect response MAY change the request method from POST to GET.
67 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 67 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
68 '&mode=no-cors&method=POST&Status=301', 68 '&mode=no-cors&method=POST&Status=301',
69 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 69 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
70 checkURLList.bind(self, [BASE_URL])], 70 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
71 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], 71 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])],
72 // The 302 redirect response MAY change the request method from POST to GET. 72 // The 302 redirect response MAY change the request method from POST to GET.
73 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 73 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
74 '&mode=no-cors&method=POST', 74 '&mode=no-cors&method=POST',
75 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 75 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
76 checkURLList.bind(self, [BASE_URL])], 76 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
77 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], 77 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])],
78 // GET method must be used for 303 redirect. 78 // GET method must be used for 303 redirect.
79 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 79 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
80 '&mode=no-cors&method=POST&Status=303', 80 '&mode=no-cors&method=POST&Status=303',
81 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 81 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
82 checkURLList.bind(self, [BASE_URL])], 82 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
83 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], 83 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])],
84 // The 307 redirect response MUST NOT change the method. 84 // The 307 redirect response MUST NOT change the method.
85 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 85 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
86 '&mode=no-cors&method=POST&Status=307', 86 '&mode=no-cors&method=POST&Status=307',
87 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 87 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
88 checkURLList.bind(self, [BASE_URL])], 88 responseNotRedirected, checkURLList.bind(self, [BASE_URL])],
89 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])], 89 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])],
90 // The 308 redirect response MUST NOT change the method. 90 // The 308 redirect response MUST NOT change the method.
91 // FIXME: disabled due to https://crbug.com/451938 91 // FIXME: disabled due to https://crbug.com/451938
92 // [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + 92 // [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) +
93 // '&mode=no-cors&method=POST&Status=308', 93 // '&mode=no-cors&method=POST&Status=308',
94 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], 94 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque],
95 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])], 95 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])],
96 96
97 // Redirect: other origin -> same origin 97 // Redirect: other origin -> same origin
98 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + 98 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) +
99 '&mode=no-cors&method=GET', 99 '&mode=no-cors&method=GET',
100 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque, 100 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque,
101 checkURLList.bind(self, [OTHER_BASE_URL])], 101 responseNotRedirected, checkURLList.bind(self, [OTHER_BASE_URL])],
102 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], 102 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])],
103 ]; 103 ];
104 104
105 if (self.importScripts) { 105 if (self.importScripts) {
106 executeTests(TEST_TARGETS); 106 executeTests(TEST_TARGETS);
107 done(); 107 done();
108 } 108 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698