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

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

Issue 1143083002: Implement request's redirect mode and RequestRedirect for Fetch (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | LayoutTests/http/tests/fetch/script-tests/request.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 sequential_promise_test(function(t) { 5 sequential_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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 sequential_promise_test(function(t) { 50 sequential_promise_test(function(t) {
51 var request = new Request( 51 var request = new Request(
52 '/fetch/resources/fetch-status.php?status=200#fragment'); 52 '/fetch/resources/fetch-status.php?status=200#fragment');
53 53
54 // The url attribute's getter must return request's url, 54 // The url attribute's getter must return request's url,
55 // serialized with the exclude fragment flag set. 55 // serialized with the exclude fragment flag set.
56 assert_equals(request.url, 56 assert_equals(request.url,
57 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'); 57 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200');
58 assert_equals(request.context, ''); 58 assert_equals(request.context, '');
59 assert_equals(request.redirect, 'follow');
59 60
60 return fetch(request) 61 return fetch(request)
61 .then(function(response) { 62 .then(function(response) {
62 assert_equals(response.status, 200); 63 assert_equals(response.status, 200);
63 assert_equals(response.statusText, 'OK'); 64 assert_equals(response.statusText, 'OK');
64 // The url attribute's getter must return the empty string 65 // The url attribute's getter must return the empty string
65 // if response's url is null and response's url, 66 // if response's url is null and response's url,
66 // serialized with the exclude fragment flag set, otherwise. 67 // serialized with the exclude fragment flag set, otherwise.
67 assert_equals(response.url, 68 assert_equals(response.url,
68 BASE_ORIGIN + 69 BASE_ORIGIN +
69 '/fetch/resources/fetch-status.php?status=200'); 70 '/fetch/resources/fetch-status.php?status=200');
70 assert_equals(request.context, ''); 71 assert_equals(request.context, '');
72 assert_equals(request.redirect, 'follow');
71 }); 73 });
72 }, 'Request/response url attribute getter with fragment'); 74 }, 'Request/response url attribute getter with fragment');
73 75
74 sequential_promise_test(function(t) { 76 sequential_promise_test(function(t) {
75 var redirect_target_url = 77 var redirect_target_url =
76 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200'; 78 BASE_ORIGIN + '/fetch/resources/fetch-status.php?status=200';
77 var redirect_original_url = 79 var redirect_original_url =
78 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' + 80 BASE_ORIGIN + '/serviceworker/resources/redirect.php?Redirect=' +
79 redirect_target_url; 81 redirect_target_url;
80 82
81 var request = new Request(redirect_original_url); 83 var request = new Request(redirect_original_url, {redirect: 'follow'});
82 assert_equals(request.url, redirect_original_url, 84 assert_equals(request.url, redirect_original_url,
83 'Request\'s url is the original URL'); 85 'Request\'s url is the original URL');
84 assert_equals(request.context, ''); 86 assert_equals(request.context, '');
87 assert_equals(request.redirect, 'follow');
85 88
86 return fetch(request) 89 return fetch(request)
87 .then(function(response) { 90 .then(function(response) {
88 assert_equals(response.status, 200); 91 assert_equals(response.status, 200);
89 assert_equals(response.statusText, 'OK'); 92 assert_equals(response.statusText, 'OK');
90 assert_equals(response.url, redirect_target_url, 93 assert_equals(response.url, redirect_target_url,
91 'Response\'s url is locationURL'); 94 'Response\'s url is locationURL');
92 assert_equals(request.url, redirect_original_url, 95 assert_equals(request.url, redirect_original_url,
93 'Request\'s url remains the original URL'); 96 'Request\'s url remains the original URL');
94 assert_equals(request.context, ''); 97 assert_equals(request.context, '');
98 assert_equals(request.redirect, 'follow');
95 }); 99 });
96 }, 'Request/response url attribute getter with redirect'); 100 }, 'Request/response url attribute getter with redirect');
97 101
98 function evalJsonp(text) { 102 function evalJsonp(text) {
99 return new Promise(function(resolve) { 103 return new Promise(function(resolve) {
100 var report = resolve; 104 var report = resolve;
101 // text must contain report() call. 105 // text must contain report() call.
102 eval(text); 106 eval(text);
103 }); 107 });
104 } 108 }
105 109
106 sequential_promise_test(function(t) { 110 sequential_promise_test(function(t) {
107 var request = 111 var request =
108 new Request('/serviceworker/resources/fetch-access-control.php', 112 new Request('/serviceworker/resources/fetch-access-control.php',
109 { 113 {
110 method: 'POST', 114 method: 'POST',
115 redirect: 'error',
111 body: new Blob(['Test Blob'], {type: 'test/type'}) 116 body: new Blob(['Test Blob'], {type: 'test/type'})
112 }); 117 });
113 assert_equals(request.context, ''); 118 assert_equals(request.context, '');
119 assert_equals(request.redirect, 'error');
114 return fetch(request) 120 return fetch(request)
115 .then(function(response) { return response.text(); }) 121 .then(function(response) { return response.text(); })
116 .then(evalJsonp) 122 .then(evalJsonp)
117 .then(function(result) { 123 .then(function(result) {
118 assert_equals(result.method, 'POST'); 124 assert_equals(result.method, 'POST');
119 assert_equals(result.body, 'Test Blob'); 125 assert_equals(result.body, 'Test Blob');
120 assert_equals(request.context, ''); 126 assert_equals(request.context, '');
127 assert_equals(request.redirect, 'error');
121 }); 128 });
122 }, 'Fetch with Blob body test'); 129 }, 'Fetch with Blob body test');
123 130
124 sequential_promise_test(function(t) { 131 sequential_promise_test(function(t) {
125 var request = new Request( 132 var request = new Request(
126 '/serviceworker/resources/fetch-access-control.php', 133 '/serviceworker/resources/fetch-access-control.php',
127 {method: 'POST', body: 'Test String'}); 134 {method: 'POST', body: 'Test String'});
128 return fetch(request) 135 return fetch(request)
129 .then(function(response) { return response.text(); }) 136 .then(function(response) { return response.text(); })
130 .then(evalJsonp) 137 .then(evalJsonp)
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 fetch('dummy.html') 210 fetch('dummy.html')
204 .then(function() { runInfiniteFetchLoop(); }); 211 .then(function() { runInfiniteFetchLoop(); });
205 } 212 }
206 runInfiniteFetchLoop(); 213 runInfiniteFetchLoop();
207 }, 214 },
208 'Destroying the execution context while fetch is happening should not ' + 215 'Destroying the execution context while fetch is happening should not ' +
209 'cause a crash.'); 216 'cause a crash.');
210 217
211 sequential_promise_test_done(); 218 sequential_promise_test_done();
212 done(); 219 done();
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/http/tests/fetch/script-tests/request.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698