| 190 | const stream = run(() => { |
| 191 | return new ReadableStream<string>({ |
| 192 | async start(controller) { |
| 193 | await streamStarted.promise // block the stream to start it manually later |
| 194 | |
| 195 | const delay = () => |
| 196 | new Promise<void>((resolve) => setTimeout(resolve, 50)) |
| 197 | |
| 198 | after(afterCallback1) |
| 199 | controller.enqueue('one') |
| 200 | await delay() |
| 201 | expect(waitUntil).toHaveBeenCalledTimes(1) // runCallbacksOnClose |
| 202 | |
| 203 | after(afterCallback2) |
| 204 | controller.enqueue('two') |
| 205 | await delay() |
| 206 | expect(waitUntil).toHaveBeenCalledTimes(1) // runCallbacksOnClose |
| 207 | |
| 208 | await delay() |
| 209 | controller.close() |
| 210 | }, |
| 211 | }) |
| 212 | }) |
| 213 | |