diff options
author | 2022-10-17 07:24:20 -0700 | |
---|---|---|
committer | 2022-10-17 07:24:20 -0700 | |
commit | 9190061ba4b28dfdb1efafa8a662da2a0809add4 (patch) | |
tree | ce0c1a8cd1768b96c057919525ef963859fd034f /test/bun.js/websocket-server.test.ts | |
parent | 41f9fd85f671f42093305cf7d4b64922ec83db4d (diff) | |
download | bun-9190061ba4b28dfdb1efafa8a662da2a0809add4.tar.gz bun-9190061ba4b28dfdb1efafa8a662da2a0809add4.tar.zst bun-9190061ba4b28dfdb1efafa8a662da2a0809add4.zip |
Update websocket-server.test.ts
Diffstat (limited to 'test/bun.js/websocket-server.test.ts')
-rw-r--r-- | test/bun.js/websocket-server.test.ts | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/bun.js/websocket-server.test.ts b/test/bun.js/websocket-server.test.ts index dc9321f6a..61cd08f7a 100644 --- a/test/bun.js/websocket-server.test.ts +++ b/test/bun.js/websocket-server.test.ts @@ -12,6 +12,47 @@ function getPort() { } describe("websocket server", () => { + it("close inside open", async () => { + var resolve; + var server = serve({ + port: getPort(), + websocket: { + open(ws) {}, + message(ws, msg) {}, + close() { + resolve(); + }, + }, + fetch(req, server) { + if ( + server.upgrade(req, { + data: "hello world", + + // check that headers works + headers: { + "x-a": "text/plain", + }, + }) + ) { + if (server.upgrade(req)) { + throw new Error("should not upgrade twice"); + } + return; + } + + return new Response("noooooo hello world"); + }, + }); + + await new Promise((resolve_, reject) => { + resolve = resolve_; + const websocket = new WebSocket(`ws://localhost:${server.port}`); + websocket.onopen = () => websocket.close(); + websocket.onmessage = (e) => {}; + websocket.onerror = (e) => {}; + }); + server.stop(); + }); it("can do hello world", async () => { var server = serve({ port: getPort(), |