aboutsummaryrefslogtreecommitdiff
path: root/test/js
diff options
context:
space:
mode:
authorGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-07-28 16:55:49 -0700
committerGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-07-28 16:55:49 -0700
commitd432448ac81b1419a1307d24509ab91a65779205 (patch)
treebc504665945bbc1ec3d20d7966c02c77f9a2e59d /test/js
parentd614fdfaac13346d71ecf24712abaefe8224687d (diff)
downloadbun-d432448ac81b1419a1307d24509ab91a65779205.tar.gz
bun-d432448ac81b1419a1307d24509ab91a65779205.tar.zst
bun-d432448ac81b1419a1307d24509ab91a65779205.zip
fix types and add message channel/port gc test
Diffstat (limited to 'test/js')
-rw-r--r--test/js/web/workers/message-channel.test.ts18
1 files changed, 15 insertions, 3 deletions
diff --git a/test/js/web/workers/message-channel.test.ts b/test/js/web/workers/message-channel.test.ts
index 7d3e3cc25..40c74e097 100644
--- a/test/js/web/workers/message-channel.test.ts
+++ b/test/js/web/workers/message-channel.test.ts
@@ -118,7 +118,7 @@ test("message channel created on other thread", done => {
worker.onmessage = e => {
expect(e.data).toBeInstanceOf(MessagePort);
var port = e.data;
- port.onmessage = e => {
+ port.onmessage = (e: MessageEvent) => {
expect(e.data).toEqual("done!");
done();
};
@@ -144,9 +144,11 @@ test("many message channels", done => {
channel.port1.postMessage("entangled port", [channel.port2]);
}).toThrow();
expect(() => {
+ // @ts-ignore
channel.port1.postMessage("null port", [channel3.port1, null, channel3.port2]);
}).toThrow();
expect(() => {
+ // @ts-ignore
channel.port1.postMessage("notAPort", [channel3.port1, {}, channel3.port2]);
}).toThrow();
expect(() => {
@@ -159,15 +161,17 @@ test("many message channels", done => {
}).not.toThrow();
expect(() => {
+ // @ts-ignore
channel.port1.postMessage("notAnArray", "foo");
}).toThrow();
expect(() => {
+ // @ts-ignore
channel.port1.postMessage("notASequence", [{ length: 3 }]);
}).toThrow();
// Should not crash (we should figure out that the array contains undefined
// entries).
- var largePortArray = [];
+ var largePortArray: MessagePort[] = [];
largePortArray[1234567890] = channel4.port1;
expect(() => {
channel.port1.postMessage("largeSequence", largePortArray);
@@ -175,7 +179,7 @@ test("many message channels", done => {
channel.port1.postMessage("done");
- function testTransfers(done) {
+ function testTransfers(done: any) {
var channel0 = new MessageChannel();
var c1 = new MessageChannel();
@@ -252,3 +256,11 @@ test("many message channels", done => {
}
};
});
+
+test("gc", () => {
+ for (let i = 0; i < 1000; i++) {
+ var e = new MessageChannel();
+ e.port1;
+ e.port2;
+ }
+});