aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/websocket-server.test.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-17 07:24:20 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-17 07:24:20 -0700
commit9190061ba4b28dfdb1efafa8a662da2a0809add4 (patch)
treece0c1a8cd1768b96c057919525ef963859fd034f /test/bun.js/websocket-server.test.ts
parent41f9fd85f671f42093305cf7d4b64922ec83db4d (diff)
downloadbun-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.ts41
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(),