OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
3 <title>respondWith with response body having invalid chunks</title> | 3 <title>respondWith with response body having invalid chunks</title> |
4 <script src="/resources/testharness.js"></script> | 4 <script src="/resources/testharness.js"></script> |
5 <script src="/resources/testharnessreport.js"></script> | 5 <script src="/resources/testharnessreport.js"></script> |
6 <script src="resources/test-helpers.js"></script> | 6 <script src="resources/test-helpers.sub.js"></script> |
7 <script> | 7 <script> |
| 8 'use strict'; |
| 9 |
8 const WORKER = | 10 const WORKER = |
9 'resources/respond-with-response-body-with-invalid-chunk-worker.js'; | 11 'resources/fetch-event-respond-with-response-body-with-invalid-chunk-worker.js
'; |
10 const SCOPE = | 12 const SCOPE = |
11 'resources/respond-with-response-body-with-invalid-chunk-iframe.html'; | 13 'resources/fetch-event-respond-with-response-body-with-invalid-chunk-iframe.ht
ml'; |
12 var resolve_done; | |
13 var done_was_called = new Promise(resolve => resolve_done = resolve); | |
14 // Called by the iframe when done. | 14 // Called by the iframe when done. |
15 function done(result) { resolve_done(result); } | 15 var done; |
| 16 var done_was_called = new Promise(resolve => done = resolve); |
16 | 17 |
17 // This test creates an controlled iframe that makes a fetch request. The | 18 // This test creates an controlled iframe that makes a fetch request. The |
18 // service worker returns a response with a body stream containing an invalid | 19 // service worker returns a response with a body stream containing an invalid |
19 // chunk. | 20 // chunk. |
20 promise_test(t => { | 21 promise_test(t => { |
21 return service_worker_unregister_and_register(t, WORKER, SCOPE) | 22 return service_worker_unregister_and_register(t, WORKER, SCOPE) |
22 .then(reg => { | 23 .then(reg => { |
23 add_completion_callback(() => reg.unregister()); | 24 add_completion_callback(() => reg.unregister()); |
24 return wait_for_state(t, reg.installing, 'activated'); | 25 return wait_for_state(t, reg.installing, 'activated'); |
25 }) | 26 }) |
26 .then(() => with_iframe(SCOPE)) | 27 .then(() => with_iframe(SCOPE)) |
| 28 .then(frame => { |
| 29 t.add_cleanup(() => frame.remove()) |
| 30 }) |
27 .then(() => done_was_called) | 31 .then(() => done_was_called) |
28 .then(result => assert_equals(result, 'PASS')); | 32 .then(result => assert_equals(result, 'PASS')); |
29 }, 'Response with a ReadableStream having non-Uint8Array chunks should be tran
sferred as errored'); | 33 }, 'Response with a ReadableStream having non-Uint8Array chunks should be tran
sferred as errored'); |
30 </script> | 34 </script> |
OLD | NEW |