From b520d81968095ac129619f70f93a592603fce0b7 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Sat, 26 Nov 2022 00:55:45 +0530 Subject: [PATCH] test: deadlock in event buffer --- src/Tests/test.event-buffer.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/Tests/test.event-buffer.ts b/src/Tests/test.event-buffer.ts index 71c98f7..18a02ed 100644 --- a/src/Tests/test.event-buffer.ts +++ b/src/Tests/test.event-buffer.ts @@ -307,4 +307,35 @@ describe('Event Buffer Tests', () => { expect(chats[0].unreadCount).toBeUndefined() }) + + it('should not deadlock', async() => { + const bufferedCode = ev.createBufferedFunction( + async() => { + + } + ) + ev.buffer() + + let resolve: (() => void) | undefined + const initPromise = new Promise(r => { + resolve = r + }) + ev.processInBuffer(initPromise) + const flushPromise = ev.flush() + + ev.processInBuffer( + (async() => { + await initPromise + await delay(100) + await bufferedCode() + })() + ) + + resolve!() + + await flushPromise + + // should resolve + await ev.flush() + }) }) \ No newline at end of file