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

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

Issue 2292763002: [Fetch API] Implement Request.formData and Response.formData. (Closed)
Patch Set: Created 4 years, 3 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 importScripts('/streams/resources/rs-utils.js'); 3 importScripts('/streams/resources/rs-utils.js');
4 } 4 }
5 5
6 function isLocked(stream) { 6 function isLocked(stream) {
7 try { 7 try {
8 var reader = stream.getReader(); 8 var reader = stream.getReader();
9 reader.releaseLock(); 9 reader.releaseLock();
10 return false; 10 return false;
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 assert_equals(blob.type, 'text/html'); 96 assert_equals(blob.type, 'text/html');
97 }) 97 })
98 }, 'BlobTest'); 98 }, 'BlobTest');
99 99
100 promise_test(function(test) { 100 promise_test(function(test) {
101 var response; 101 var response;
102 return fetch('/fetch/resources/doctype.html') 102 return fetch('/fetch/resources/doctype.html')
103 .then(function(res) { 103 .then(function(res) {
104 response = res; 104 response = res;
105 assert_false(response.bodyUsed); 105 assert_false(response.bodyUsed);
106 var p = response.formData();
107 assert_true(response.bodyUsed);
108 assert_true(isLocked(response.body));
109 return p;
110 })
111 .then(
112 test.unreached_func('formData() must fail'),
yhirano 2016/09/26 10:59:33 Please use unreached_fulfillment.
e_hakkinen 2016/09/28 15:15:04 Done.
113 function(e) {
114 assert_true(isLocked(response.body));
115 assert_equals(e.name, 'TypeError', 'expected MIME type error');
116 })
117 }, 'FormDataFailedTest');
118
119 promise_test(function(test) {
120 var response;
121 return fetch('/fetch/resources/doctype.html')
122 .then(function(res) {
123 response = res;
124 assert_false(response.bodyUsed);
106 var p = response.json(); 125 var p = response.json();
107 assert_true(response.bodyUsed); 126 assert_true(response.bodyUsed);
108 assert_true(isLocked(response.body)); 127 assert_true(isLocked(response.body));
109 return p; 128 return p;
110 }) 129 })
111 .then( 130 .then(
112 test.unreached_func('json() must fail'), 131 test.unreached_func('json() must fail'),
113 function(e) { 132 function(e) {
114 assert_true(isLocked(response.body)); 133 assert_true(isLocked(response.body));
115 assert_equals(e.name, 'SyntaxError', 'expected JSON error'); 134 assert_equals(e.name, 'SyntaxError', 'expected JSON error');
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 var res = new Response(''); 257 var res = new Response('');
239 res.body.cancel(); 258 res.body.cancel();
240 return res.blob().then(unreached_fulfillment(t), e => { 259 return res.blob().then(unreached_fulfillment(t), e => {
241 assert_equals(e.name, 'TypeError'); 260 assert_equals(e.name, 'TypeError');
242 }); 261 });
243 }, 'Used => blob'); 262 }, 'Used => blob');
244 263
245 promise_test(t => { 264 promise_test(t => {
246 var res = new Response(''); 265 var res = new Response('');
247 res.body.cancel(); 266 res.body.cancel();
267 return res.formData().then(unreached_fulfillment(t), e => {
268 assert_equals(e.name, 'TypeError');
269 });
270 }, 'Used => formData');
271
272 promise_test(t => {
273 var res = new Response('');
274 res.body.cancel();
248 return res.json().then(unreached_fulfillment(t), e => { 275 return res.json().then(unreached_fulfillment(t), e => {
249 assert_equals(e.name, 'TypeError'); 276 assert_equals(e.name, 'TypeError');
250 }); 277 });
251 }, 'Used => json'); 278 }, 'Used => json');
252 279
253 promise_test(t => { 280 promise_test(t => {
254 var res = new Response(''); 281 var res = new Response('');
255 res.body.cancel(); 282 res.body.cancel();
256 return res.text().then(unreached_fulfillment(t), e => { 283 return res.text().then(unreached_fulfillment(t), e => {
257 assert_equals(e.name, 'TypeError'); 284 assert_equals(e.name, 'TypeError');
(...skipping 15 matching lines...) Expand all
273 const reader = res.body.getReader(); 300 const reader = res.body.getReader();
274 return res.blob().then(unreached_fulfillment(t), e => { 301 return res.blob().then(unreached_fulfillment(t), e => {
275 reader.releaseLock(); 302 reader.releaseLock();
276 assert_equals(e.name, 'TypeError'); 303 assert_equals(e.name, 'TypeError');
277 }); 304 });
278 }, 'Locked => blob'); 305 }, 'Locked => blob');
279 306
280 promise_test(t => { 307 promise_test(t => {
281 var res = new Response(''); 308 var res = new Response('');
282 const reader = res.body.getReader(); 309 const reader = res.body.getReader();
310 return res.formData().then(unreached_fulfillment(t), e => {
311 reader.releaseLock();
312 assert_equals(e.name, 'TypeError');
313 });
314 }, 'Locked => formData');
315
316 promise_test(t => {
317 var res = new Response('');
318 const reader = res.body.getReader();
283 return res.json().then(unreached_fulfillment(t), e => { 319 return res.json().then(unreached_fulfillment(t), e => {
284 reader.releaseLock(); 320 reader.releaseLock();
285 assert_equals(e.name, 'TypeError'); 321 assert_equals(e.name, 'TypeError');
286 }); 322 });
287 }, 'Locked => json'); 323 }, 'Locked => json');
288 324
289 promise_test(t => { 325 promise_test(t => {
290 var res = new Response(''); 326 var res = new Response('');
291 const reader = res.body.getReader(); 327 const reader = res.body.getReader();
292 return res.text().then(unreached_fulfillment(t), e => { 328 return res.text().then(unreached_fulfillment(t), e => {
293 reader.releaseLock(); 329 reader.releaseLock();
294 assert_equals(e.name, 'TypeError'); 330 assert_equals(e.name, 'TypeError');
295 }); 331 });
296 }, 'Locked => text'); 332 }, 'Locked => text');
297 333
298 done(); 334 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698