Spaces:
Runtime error
Runtime error
File size: 1,144 Bytes
cd8bd0a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import test from "node:test";
import assert from "node:assert/strict";
import { fakeUpstreamStream } from "../../helpers/fakeUpstreamStream.ts";
test("fakeUpstreamStream emits pushed chunks then closes", async () => {
const { stream, push, close } = fakeUpstreamStream();
push("a");
push("b");
close();
const reader = stream.getReader();
const dec = new TextDecoder();
let out = "";
for (;;) {
const { done, value } = await reader.read();
if (done) break;
out += dec.decode(value);
}
assert.equal(out, "ab");
});
test("fakeUpstreamStream signals cancel when consumer aborts", async () => {
const { stream, onCancel } = fakeUpstreamStream();
let cancelled = false;
onCancel(() => {
cancelled = true;
});
const reader = stream.getReader();
await reader.cancel("client-abort");
assert.equal(cancelled, true);
});
test("fakeUpstreamStream propagates error to reader", async () => {
const { stream, error } = fakeUpstreamStream();
error(new Error("upstream boom"));
const reader = stream.getReader();
await assert.rejects(async () => {
await reader.read();
}, /upstream boom/);
});
|