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

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

Issue 2785123002: Make no-location redirect response to be "opaque redirect" when redirect mode is manual. (Closed)
Patch Set: Created 3 years, 8 months 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('../resources/fetch-test-helpers.js'); 2 importScripts('../resources/fetch-test-helpers.js');
3 } 3 }
4 4
5 promise_test(function(t) { 5 promise_test(function(t) {
6 return fetch('http://') 6 return fetch('http://')
7 .then( 7 .then(
8 t.unreached_func('fetch of invalid URL must fail'), 8 t.unreached_func('fetch of invalid URL must fail'),
9 function() {}); 9 function() {});
10 }, 'Fetch invalid URL'); 10 }, 'Fetch invalid URL');
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 assert_false(response.redirected); 240 assert_false(response.redirected);
241 if (self.internals) { 241 if (self.internals) {
242 assert_array_equals( 242 assert_array_equals(
243 self.internals.getInternalResponseURLList(response), 243 self.internals.getInternalResponseURLList(response),
244 [redirect_original_url]); 244 [redirect_original_url]);
245 } 245 }
246 }); 246 });
247 }, 'Manual redirect fetch returns opaque redirect response'); 247 }, 'Manual redirect fetch returns opaque redirect response');
248 248
249 promise_test(function(t) { 249 promise_test(function(t) {
250 var redirect_target_url = 'noLocation';
251 var redirect_original_url =
252 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' +
253 redirect_target_url;
hiroshige 2017/04/12 00:25:42 nit: just using '/serviceworker/resources/redirect
horo 2017/04/12 04:48:39 Done.
254
255 var request = new Request(redirect_original_url, {redirect: 'manual'});
256 assert_equals(request.url, redirect_original_url,
257 'Request\'s url is the original URL');
258 assert_equals(request.redirect, 'manual');
259
260 return fetch(request)
261 .then(function(response) {
262 assert_equals(response.status, 0);
263 assert_equals(response.type, 'opaqueredirect');
264 assert_equals(response.url, request.url);
265 assert_false(response.redirected);
266 if (self.internals) {
267 assert_array_equals(
268 self.internals.getInternalResponseURLList(response),
269 [redirect_original_url]);
270 }
271 });
272 }, 'Manual redirect fetch returns opaque redirect response even if location' +
273 'header is not set');
274
275 promise_test(function(t) {
250 var redirect_target_url = 276 var redirect_target_url =
251 OTHER_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; 277 OTHER_ORIGIN + '/fetch/resources/fetch-status.php?status=200';
252 var redirect_original_url = 278 var redirect_original_url =
253 OTHER_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + 279 OTHER_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' +
254 redirect_target_url; 280 redirect_target_url;
255 281
256 var request = new Request(redirect_original_url, 282 var request = new Request(redirect_original_url,
257 {headers: [['X-Fetch-Test', 'A']], 283 {headers: [['X-Fetch-Test', 'A']],
258 redirect: 'manual'}); 284 redirect: 'manual'});
259 285
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 assert_true(req.bodyUsed); 469 assert_true(req.bodyUsed);
444 }, 'Calling fetch() disturbs body if not null'); 470 }, 'Calling fetch() disturbs body if not null');
445 471
446 test(t => { 472 test(t => {
447 var req = new Request('/', {method: 'POST'}); 473 var req = new Request('/', {method: 'POST'});
448 fetch(req); 474 fetch(req);
449 assert_false(req.bodyUsed); 475 assert_false(req.bodyUsed);
450 }, 'Calling fetch() doesn\'t disturb body if null'); 476 }, 'Calling fetch() doesn\'t disturb body if null');
451 477
452 done(); 478 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698