From 464595778ea7aadcc4578e636ef6c65b53b82d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Pradel?= Date: Thu, 24 Sep 2026 19:40:12 +0200 Subject: [PATCH] test: cover dynamically updated closeOnEsc prop The stale closeOnEsc closure was fixed in #573; add regression tests that toggle closeOnEsc while the modal is open and assert the esc key behavior follows the latest prop value. Closes #504 --- .../__tests__/index.test.tsx | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/react-responsive-modal/__tests__/index.test.tsx b/react-responsive-modal/__tests__/index.test.tsx index a6a77881..ed59be32 100644 --- a/react-responsive-modal/__tests__/index.test.tsx +++ b/react-responsive-modal/__tests__/index.test.tsx @@ -92,6 +92,42 @@ describe('modal', () => { expect(onClose).not.toHaveBeenCalled(); }); + it('should not call onClose when closeOnEsc is updated to false while open', () => { + const onClose = vitest.fn(); + const { container, rerender } = render( + +
modal content
+
, + ); + + rerender( + +
modal content
+
, + ); + + fireEvent.keyDown(container, { keyCode: 27 }); + expect(onClose).not.toHaveBeenCalled(); + }); + + it('should call onClose when closeOnEsc is updated to true while open', () => { + const onClose = vitest.fn(); + const { container, rerender } = render( + +
modal content
+
, + ); + + rerender( + +
modal content
+
, + ); + + fireEvent.keyDown(container, { keyCode: 27 }); + expect(onClose).toHaveBeenCalledTimes(1); + }); + it('should call onClose when pressing esc key', () => { const onClose = vitest.fn(); const { container } = render(