diff options
-rw-r--r-- | integration/bunjs-only-snippets/inspect.test.js | 11 | ||||
-rw-r--r-- | integration/bunjs-only-snippets/websocket.test.js | 43 |
2 files changed, 46 insertions, 8 deletions
diff --git a/integration/bunjs-only-snippets/inspect.test.js b/integration/bunjs-only-snippets/inspect.test.js index 344fd7a78..bf5021c33 100644 --- a/integration/bunjs-only-snippets/inspect.test.js +++ b/integration/bunjs-only-snippets/inspect.test.js @@ -38,7 +38,6 @@ it("inspect", () => { expect(Bun.inspect(new TypeError("what")).includes("TypeError: what")).toBe( true ); - expect("hi").toBe("hi"); expect(Bun.inspect(1)).toBe("1"); expect(Bun.inspect(1, "hi")).toBe("1 hi"); @@ -59,7 +58,6 @@ it("inspect", () => { expect(Bun.inspect(str)).toBe(str); // expect(Bun.inspect(new Headers())).toBe("Headers (0 KB) {}"); expect(Bun.inspect(new Response()).length > 0).toBe(true); - // expect( // JSON.stringify( // new Headers({ @@ -88,8 +86,11 @@ it("inspect", () => { <input type="text" value={"123"} /> </div> ) - ).toBe(`<div hello="quoted"> + ).toBe( + ` +<div hello="quoted"> <input type="text" value="123" /> -</div>`); - expect(Bun.inspect(BigInt(32)), "32n"); +</div>`.trim() + ); + expect(Bun.inspect(BigInt(32))).toBe("32n"); }); diff --git a/integration/bunjs-only-snippets/websocket.test.js b/integration/bunjs-only-snippets/websocket.test.js index a71f3dc7d..ab825fa63 100644 --- a/integration/bunjs-only-snippets/websocket.test.js +++ b/integration/bunjs-only-snippets/websocket.test.js @@ -1,5 +1,6 @@ import { describe, it, expect } from "bun:test"; import { unsafe } from "bun"; +import { gc } from "./gc"; const TEST_WEBSOCKET_HOST = process.env.TEST_WEBSOCKET_HOST || "wss://ws.postman-echo.com/raw"; @@ -27,16 +28,52 @@ describe("WebSocket", () => { reject("WebSocket closed"); }; }); + const count = 10; + + // 10 messages in burst var promise = new Promise((resolve, reject) => { + var remain = count; ws.onmessage = (event) => { + gc(true); expect(event.data).toBe("Hello World!"); - ws.close(); - resolve(); + remain--; + + if (remain <= 0) { + ws.onmessage = () => {}; + resolve(); + } }; ws.onerror = reject; - ws.send("Hello World!"); }); + for (let i = 0; i < count; i++) { + ws.send("Hello World!"); + gc(true); + } + await promise; + var echo = 0; + + // 10 messages one at a time + function waitForEcho() { + return new Promise((resolve, reject) => { + gc(true); + const msg = `Hello World! ${echo++}`; + ws.onmessage = (event) => { + expect(event.data).toBe(msg); + resolve(); + }; + ws.onerror = reject; + ws.onclose = reject; + ws.send(msg); + gc(true); + }); + } + gc(true); + for (let i = 0; i < count; i++) await waitForEcho(); + ws.onclose = () => {}; + ws.onerror = () => {}; + ws.close(); + gc(true); }); }); |