| importScripts("/resources/testharness.js"); |
| |
| function doTest(event) |
| { |
| if (!event.request.url.includes("fetch-error-test")) |
| return; |
| |
| let counter = 0; |
| const stream = new ReadableStream({ pull: controller => { |
| switch (++counter) { |
| case 1: |
| controller.enqueue(new Uint8Array([1])); |
| return; |
| default: |
| // We asynchronously error the stream so that there is ample time to resolve the fetch promise and call text() on the response. |
| step_timeout(() => controller.error("Sorry"), 50); |
| } |
| }}); |
| event.respondWith(new Response(stream)); |
| } |
| |
| self.addEventListener("fetch", doTest); |