From 5b75e7a7446b25057afd5df863de9ca19bddb4a1 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 13 May 2024 11:22:20 +0800 Subject: [PATCH] fix: add testcase of unsub --- src/__test__/send.test.ts | 13 ++++++++++++- src/index.ts | 2 -- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/__test__/send.test.ts b/src/__test__/send.test.ts index 854c090..a28cc22 100644 --- a/src/__test__/send.test.ts +++ b/src/__test__/send.test.ts @@ -117,7 +117,7 @@ describe('send', () => { throw new Error('a') }) - wshe.subscribeRaw(ev => (event = ev)) + const unsubscribe = wshe.subscribeRaw(ev => (event = ev)) wshe.sendRaw(eventData) await vi.waitFor(() => { vi.setSystemTime(date) @@ -127,5 +127,16 @@ describe('send', () => { expect(event).instanceof(Blob) expect(event).toStrictEqual(new Blob([eventData])) + + event = undefined + unsubscribe() + wshe.sendRaw(eventData) + await expect(new Promise((_, reject) => { + vi.waitFor(() => { + vi.setSystemTime(date) + if (event === undefined) + reject(new Error('Binary Data received back')) + }) + })).rejects.toThrow() }) }) diff --git a/src/index.ts b/src/index.ts index bb705e7..041d0e0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -56,8 +56,6 @@ export function createWSHE< * @returns unsubscribe function */ subscribeRaw(callback: (data: T) => void) { - if (!ws) - return emitter.on(RAW_EVENT, callback) return () => { emitter.off(RAW_EVENT, callback)