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(