From ff2f4c862fbd8b3d7a4845d14c6b7e96b8598ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=B3=E5=BB=B7=E5=AE=89?= <73953029+nrps9909@users.noreply.github.com> Date: Fri, 28 Aug 2026 00:35:55 +0800 Subject: [PATCH] test: cover Escape tooltip integration --- tests/escape.integration.test.tsx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/escape.integration.test.tsx diff --git a/tests/escape.integration.test.tsx b/tests/escape.integration.test.tsx new file mode 100644 index 0000000..ac45fab --- /dev/null +++ b/tests/escape.integration.test.tsx @@ -0,0 +1,24 @@ +import { fireEvent, render } from '@testing-library/react'; +import React from 'react'; +import Tooltip from '../src'; + +jest.unmock('@rc-component/trigger'); + +describe('Escape integration', () => { + it('closes an uncontrolled click tooltip through the real Trigger dependency', () => { + const onVisibleChange = jest.fn(); + const { container } = render( + + + , + ); + + fireEvent.click(container.querySelector('button')); + expect(onVisibleChange).toHaveBeenLastCalledWith(true); + expect(document.querySelector('.rc-tooltip')).not.toHaveClass('rc-tooltip-hidden'); + + fireEvent.keyDown(window, { key: 'Escape' }); + expect(onVisibleChange).toHaveBeenLastCalledWith(false); + expect(document.querySelector('.rc-tooltip')).toHaveClass('rc-tooltip-hidden'); + }); +});