aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--integration/bunjs-only-snippets/inspect.test.js11
-rw-r--r--integration/bunjs-only-snippets/websocket.test.js43
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);
});
});