diff --git a/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts b/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts index 8a67b57..54ab8fa 100644 --- a/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts +++ b/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts @@ -92,4 +92,15 @@ describe('pubsub', () => { expect(result).toBe(false); }); + + it('calls listener only once when the same function is registered multiple times', () => { + const listener = vi.fn(); + + eventBus.on('event1', listener); + eventBus.on('event1', listener); + eventBus.on('event1', listener); + eventBus.emit('event1', 'Hello'); + + expect(listener).toHaveBeenCalledTimes(1); + }); }); \ No newline at end of file