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

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: add link to crbug.com/707185 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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 assert_false(response.redirected); 237 assert_false(response.redirected);
238 if (self.internals) { 238 if (self.internals) {
239 assert_array_equals( 239 assert_array_equals(
240 self.internals.getInternalResponseURLList(response), 240 self.internals.getInternalResponseURLList(response),
241 [redirect_original_url]); 241 [redirect_original_url]);
242 } 242 }
243 }); 243 });
244 }, 'Manual redirect fetch returns opaque redirect response'); 244 }, 'Manual redirect fetch returns opaque redirect response');
245 245
246 promise_test(function(t) { 246 promise_test(function(t) {
247 var redirect_original_url =
248 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=noLocation';
249
250 var request = new Request(redirect_original_url, {redirect: 'manual'});
251 assert_equals(request.url, redirect_original_url,
252 'Request\'s url is the original URL');
253 assert_equals(request.redirect, 'manual');
254
255 return fetch(request)
256 .then(function(response) {
257 assert_equals(response.status, 0);
258 assert_equals(response.type, 'opaqueredirect');
259 assert_equals(response.url, request.url);
260 assert_false(response.redirected);
261 if (self.internals) {
262 assert_array_equals(
263 self.internals.getInternalResponseURLList(response),
264 [redirect_original_url]);
265 }
266 });
267 }, 'Manual redirect fetch returns opaque redirect response even if location' +
268 'header is not set');
269
270 promise_test(function(t) {
247 var redirect_target_url = 271 var redirect_target_url =
248 OTHER_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; 272 OTHER_ORIGIN + '/fetch/resources/fetch-status.php?status=200';
249 var redirect_original_url = 273 var redirect_original_url =
250 OTHER_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + 274 OTHER_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' +
251 redirect_target_url; 275 redirect_target_url;
252 276
253 var request = new Request(redirect_original_url, 277 var request = new Request(redirect_original_url,
254 {headers: [['X-Fetch-Test', 'A']], 278 {headers: [['X-Fetch-Test', 'A']],
255 redirect: 'manual'}); 279 redirect: 'manual'});
256 280
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 assert_true(req.bodyUsed); 464 assert_true(req.bodyUsed);
441 }, 'Calling fetch() disturbs body if not null'); 465 }, 'Calling fetch() disturbs body if not null');
442 466
443 test(t => { 467 test(t => {
444 var req = new Request('/', {method: 'POST'}); 468 var req = new Request('/', {method: 'POST'});
445 fetch(req); 469 fetch(req);
446 assert_false(req.bodyUsed); 470 assert_false(req.bodyUsed);
447 }, 'Calling fetch() doesn\'t disturb body if null'); 471 }, 'Calling fetch() doesn\'t disturb body if null');
448 472
449 done(); 473 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698