Chromium Code Reviews| Index: LayoutTests/http/tests/fetch/script-tests/fetch.js |
| diff --git a/LayoutTests/http/tests/fetch/script-tests/fetch.js b/LayoutTests/http/tests/fetch/script-tests/fetch.js |
| index fa457be4527153611f94d8fe8a00c066940c949a..208edb08ab2ef048e28ab8db054a55f716861ac0 100644 |
| --- a/LayoutTests/http/tests/fetch/script-tests/fetch.js |
| +++ b/LayoutTests/http/tests/fetch/script-tests/fetch.js |
| @@ -82,6 +82,7 @@ sequential_promise_test(function(t) { |
| assert_equals(request.url, redirect_original_url, |
| 'Request\'s url is the original URL'); |
| assert_equals(request.context, ''); |
| + assert_equals(request.redirect, 'follow'); |
| return fetch(request) |
| .then(function(response) { |
| @@ -95,6 +96,71 @@ sequential_promise_test(function(t) { |
| }); |
| }, 'Request/response url attribute getter with redirect'); |
| +sequential_promise_test(function(t) { |
| + var redirect_target_url = |
| + BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; |
| + var redirect_original_url = |
| + BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + |
| + redirect_target_url; |
| + |
| + var request = new Request(redirect_original_url, {redirect: 'manual'}); |
| + assert_equals(request.url, redirect_original_url, |
| + 'Request\'s url is the original URL'); |
| + assert_equals(request.context, ''); |
| + assert_equals(request.redirect, 'manual'); |
| + |
| + return fetch(request) |
| + .then(function(response) { |
| + assert_equals(response.status, 0); |
| + assert_equals(response.type, 'opaqueredirect'); |
| + assert_equals(response.url, ''); |
| + }); |
| + }, 'Manual redirect fetch returns opaque redirect response'); |
| + |
| +sequential_promise_test(function(t) { |
| + var redirect_target_url = |
| + BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; |
| + var redirect_original_url = |
| + BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + |
| + redirect_target_url; |
| + |
| + var request = new Request(redirect_original_url, {redirect: 'error'}); |
| + assert_equals(request.url, redirect_original_url, |
| + 'Request\'s url is the original URL'); |
| + assert_equals(request.context, ''); |
| + assert_equals(request.redirect, 'error'); |
| + |
| + return fetch(request) |
| + .then( |
| + t.unreached_func('Redirect response must cause an error when redirct' + |
| + ' mode is error.'), |
| + function() {}); |
| + }, 'Redirect response must cause an error when redirct mode is error.'); |
| + |
| +sequential_promise_test(function(test) { |
| + var url = BASE_ORIGIN + '/fetch/resources/doctype.html'; |
| + return fetch(new Request(url, {redirect: 'manual'})) |
| + .then(function(response) { |
| + assert_equals(response.status, 200); |
| + assert_equals(response.statusText, 'OK'); |
| + assert_equals(response.url, url); |
| + return response.text(); |
| + }) |
| + .then(function(text) { assert_equals(text, '<!DOCTYPE html>\n'); }) |
| + }, 'No redirect fetch completes normally even if redirect mode is manual'); |
|
falken
2015/08/13 06:42:30
This was hard to parse. Maybe "No-redirect fetch c
horo
2015/08/13 10:46:36
Done.
|
| + |
| +sequential_promise_test(function(test) { |
| + var url = BASE_ORIGIN + '/fetch/resources/doctype.html'; |
| + return fetch(new Request(url, {redirect: 'error'})) |
| + .then(function(response) { |
| + assert_equals(response.status, 200); |
| + assert_equals(response.statusText, 'OK'); |
| + assert_equals(response.url, url); |
| + return response.text(); |
| + }) |
| + .then(function(text) { assert_equals(text, '<!DOCTYPE html>\n'); }) |
| + }, 'No redirect fetch completes normally even if redirect mode is error'); |
|
falken
2015/08/13 06:42:30
same here
horo
2015/08/13 10:46:36
Done.
|
| + |
| function evalJsonp(text) { |
| return new Promise(function(resolve) { |
| var report = resolve; |