diff options
author | 2023-06-02 22:03:16 -0400 | |
---|---|---|
committer | 2023-06-02 19:03:16 -0700 | |
commit | f798a0cfe8372e7df62d9514e6785e6f16549d25 (patch) | |
tree | 81204276db9636ae4b10ae9de859900da6b6b437 /test/js | |
parent | 51846d0277aa58a69557668cb930448bd62de0bf (diff) | |
download | bun-f798a0cfe8372e7df62d9514e6785e6f16549d25.tar.gz bun-f798a0cfe8372e7df62d9514e6785e6f16549d25.tar.zst bun-f798a0cfe8372e7df62d9514e6785e6f16549d25.zip |
fix readableStreamToArrayBuffer (#3181)
* fix discord.js again
* remove one of the async hooks warnings
* clarify hardcoded modules docs
Diffstat (limited to 'test/js')
-rw-r--r-- | test/js/bun/util/readablestreamtoarraybuffer.test.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/js/bun/util/readablestreamtoarraybuffer.test.ts b/test/js/bun/util/readablestreamtoarraybuffer.test.ts new file mode 100644 index 000000000..132e5f18a --- /dev/null +++ b/test/js/bun/util/readablestreamtoarraybuffer.test.ts @@ -0,0 +1,29 @@ +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; + } +}); |