OLD | NEW |
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 Loading... |
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 unreached_fulfillment(test), |
| 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 Loading... |
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 Loading... |
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 promise_test(t => { | 334 promise_test(t => { |
299 return fetch('/fetch/resources/slow-failure.cgi').then(response => { | 335 return fetch('/fetch/resources/slow-failure.cgi').then(response => { |
300 return response.text().then(unreached_fulfillment(t), e => { | 336 return response.text().then(unreached_fulfillment(t), e => { |
301 assert_equals(e.name, 'TypeError'); | 337 assert_equals(e.name, 'TypeError'); |
302 }); | 338 }); |
303 }); | 339 }); |
304 }, 'streaming error'); | 340 }, 'streaming error'); |
305 | 341 |
306 done(); | 342 done(); |
OLD | NEW |