diff options
| author | 2023-07-28 16:55:49 -0700 | |
|---|---|---|
| committer | 2023-07-28 16:55:49 -0700 | |
| commit | d432448ac81b1419a1307d24509ab91a65779205 (patch) | |
| tree | bc504665945bbc1ec3d20d7966c02c77f9a2e59d /test/js | |
| parent | d614fdfaac13346d71ecf24712abaefe8224687d (diff) | |
| download | bun-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.ts | 18 |
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; + } +}); |
