aboutsummaryrefslogtreecommitdiff
path: root/test/js/web/websocket/websocket.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/web/websocket/websocket.test.js')
-rw-r--r--test/js/web/websocket/websocket.test.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/js/web/websocket/websocket.test.js b/test/js/web/websocket/websocket.test.js
index 99d60f292..867b86123 100644
--- a/test/js/web/websocket/websocket.test.js
+++ b/test/js/web/websocket/websocket.test.js
@@ -71,6 +71,66 @@ describe("WebSocket", () => {
});
const ws = new WebSocket(`http://${server.hostname}:${server.port}`, {});
});
+ describe("nodebuffer", () => {
+ it("should support 'nodebuffer' binaryType", done => {
+ const server = Bun.serve({
+ port: 0,
+ fetch(req, server) {
+ if (server.upgrade(req)) {
+ return;
+ }
+
+ return new Response();
+ },
+ websocket: {
+ open(ws) {
+ ws.sendBinary(new Uint8Array([1, 2, 3]));
+ },
+ },
+ });
+ const ws = new WebSocket(`http://${server.hostname}:${server.port}`, {});
+ ws.binaryType = "nodebuffer";
+ expect(ws.binaryType).toBe("nodebuffer");
+ Bun.gc(true);
+ ws.onmessage = ({ data }) => {
+ expect(Buffer.isBuffer(data)).toBe(true);
+ expect(data).toEqual(new Uint8Array([1, 2, 3]));
+ server.stop(true);
+ Bun.gc(true);
+ done();
+ };
+ });
+
+ it("should support 'nodebuffer' binaryType when the handler is not immediately provided", done => {
+ var client;
+ const server = Bun.serve({
+ port: 0,
+ fetch(req, server) {
+ if (server.upgrade(req)) {
+ return;
+ }
+
+ return new Response();
+ },
+ websocket: {
+ open(ws) {
+ ws.sendBinary(new Uint8Array([1, 2, 3]));
+ setTimeout(() => {
+ client.onmessage = ({ data }) => {
+ expect(Buffer.isBuffer(data)).toBe(true);
+ expect(data).toEqual(new Uint8Array([1, 2, 3]));
+ server.stop(true);
+ done();
+ };
+ }, 0);
+ },
+ },
+ });
+ client = new WebSocket(`http://${server.hostname}:${server.port}`, {});
+ client.binaryType = "nodebuffer";
+ expect(client.binaryType).toBe("nodebuffer");
+ });
+ });
it("should send and receive messages", async () => {
const ws = new WebSocket(TEST_WEBSOCKET_HOST);
0'>2023-09-01bun-vscode 0.0.8Gravatar Colin McDonnell 3-41/+39 2023-09-01Update commandsGravatar Colin McDonnell 3-4/+6 2023-09-01fix `Bun.serve` with tls and `Bun.file` (#4450)Gravatar Dylan Conway 3-14/+40 * check sendfile ctx * add test * undo blob check * undo undo and add assert 2023-09-01exclusive maxGravatar Dylan Conway 1-1/+1 2023-09-01Fix debug console from appears on startGravatar Ashcon Partovi 2-2/+5 2023-09-01Add configuration options to extensionGravatar Ashcon Partovi 5-5/+137 2023-09-01Fix run button starting cwd at /Gravatar Ashcon Partovi 1-0/+2 2023-09-01fix(runtime): fix dns_resolver crash (#4435)Gravatar dave caruso 3-17/+19 * fix incorrect c pointer * format * lets go * random other test case fixed * hanassagi patch * Update dns_resolver.zig * Revert "Update dns_resolver.zig" This reverts commit 53eb338048583a338e7c01d2b351f1c679db3e15. * See if the tests pass --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> 2023-09-01Fix background colorGravatar Ashcon Partovi 1-2/+3 2023-09-01Allow older versions of VSCodeGravatar Ashcon Partovi 2-6/+5 2023-09-01Fix README for extensionGravatar Ashcon Partovi 2-7/+12 2023-09-01Update VSCode extensionGravatar Ashcon Partovi 1-3/+4 2023-09-01Fix breakpoint on entry for extensionGravatar Ashcon Partovi 5-18/+15 2023-09-01Add Bun.canReload event to inspectorGravatar Ashcon Partovi 2-0/+17 2023-08-31JavaScript Debug Terminal == Bun TerminalGravatar Ashcon Partovi 1-0/+32 2023-08-31fix(runtime): `fs.cp` edge cases (#4439)Gravatar dave caruso 2-8/+44 * yippee * enable cpSync tests * much better * that doesnt actually do anything * lose 2023-08-31only set initial debugger breakpoint once (#4441)Gravatar Dylan Conway 1-2/+11 * unset `set_breakpoint_on_first_line` on reload * move to `module_loader.zig` 2023-08-31Make breakpoints faster in VSCode extensionGravatar Ashcon Partovi 1-241/+327 2023-08-31`bun install` correctly join dependency URLs (#4421)Gravatar Julian 6-64/+243 * use WTF to join registry strings * show dependency error messages, better join error We actually report errors when enqueuing dependencies now. I also made the join URLs error message read better. It'd be cleaner to handle it all in one place, but there's currently no way to propagate the data up. * starting on registry URL tests * added more registry URL tests * [install] prevent optional/peer deps from failing builds Couldn't get the peer dependency test to work, but the code is there. * ran prettier * changed error note to use realname, updated tests * ran prettier again... 2023-08-31get name if not provided in `FormData.append` (#4434)Gravatar Dylan Conway 4-5/+45 * get file name from blob if not provided * add test * another test * format 2023-08-31Fix vscode debug terminalGravatar Ashcon Partovi 1-21/+0