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

Unified Diff: LayoutTests/http/tests/fetch/script-tests/fetch.js

Issue 1280733002: [3/3 blink] Support redirect option of Request and "opaqueredirect" response type. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@Redirect1
Patch Set: update fetch-request-redirect.html Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698