From 8e9af05d6a206b2726a827f5e141c859d26b6ede Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 28 Dec 2022 18:41:07 -0800 Subject: [WebSocket] Allow `http:` and `https:` protocols See https://github.com/whatwg/websockets/pull/37 --- test/bun.js/websocket.test.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'test/bun.js/websocket.test.js') diff --git a/test/bun.js/websocket.test.js b/test/bun.js/websocket.test.js index 3680e2749..ff5362050 100644 --- a/test/bun.js/websocket.test.js +++ b/test/bun.js/websocket.test.js @@ -19,6 +19,19 @@ describe("WebSocket", () => { await closed; }); + it("should connect over https", async () => { + const ws = new WebSocket(TEST_WEBSOCKET_HOST.replaceAll("wss:", "https:")); + await new Promise((resolve, reject) => { + ws.onopen = resolve; + ws.onerror = reject; + }); + var closed = new Promise((resolve, reject) => { + ws.onclose = resolve; + }); + ws.close(); + await closed; + }); + it("supports headers", (done) => { const server = Bun.serve({ port: 8024, @@ -42,6 +55,24 @@ describe("WebSocket", () => { }, }); }); + + it("should connect over http", (done) => { + const server = Bun.serve({ + port: 8025, + fetch(req, server) { + server.stop(); + done(); + return new Response(); + }, + websocket: { + open(ws) { + ws.close(); + }, + }, + }); + const ws = new WebSocket(`http://${server.hostname}:${server.port}`, {}); + }); + it("should send and receive messages", async () => { const ws = new WebSocket(TEST_WEBSOCKET_HOST); await new Promise((resolve, reject) => { -- cgit v1.2.3