Files
bun.sh/test/js/bun/util/readablestreamtoarraybuffer.test.ts
dave caruso f798a0cfe8 fix readableStreamToArrayBuffer (#3181)
* fix discord.js again

* remove one of the async hooks warnings

* clarify hardcoded modules docs
2023-06-02 19:03:16 -07:00

30 lines
887 B
TypeScript

import { test, expect } from "bun:test";
test("readableStreamToArrayBuffer works", async () => {
// the test calls InternalPromise.then. this test ensures that such function is not user-overridable.
let _then = Promise.prototype.then;
let counter = 0;
// @ts-ignore
Promise.prototype.then = (...args) => {
counter++;
return _then.apply(this, args);
};
try {
const result = await Bun.readableStreamToArrayBuffer(
new ReadableStream({
async start(controller) {
controller.enqueue(new TextEncoder().encode("bun is"));
controller.enqueue(new TextEncoder().encode(" awesome!"));
controller.close();
},
}),
);
expect(counter).toBe(0);
expect(new TextDecoder().decode(result)).toBe("bun is awesome!");
} catch (error) {
throw error;
} finally {
Promise.prototype.then = _then;
}
});