diff --git a/__tests__/react/click.js b/__tests__/react/click.js index 7d8d6d51..a7a7edf9 100644 --- a/__tests__/react/click.js +++ b/__tests__/react/click.js @@ -198,6 +198,32 @@ describe("userEvent.click", () => { expect(b).toHaveFocus(); }); + it("does not lose focus when click updates focus", () => { + const FocusComponent = () => { + const inputRef = React.useRef(); + const focusInput = () => inputRef.current.focus(); + + return ( + + + + + ); + }; + const { getByTestId, getByText } = render(); + + const input = getByTestId("input"); + const button = getByText("Update Focus"); + + expect(input).not.toHaveFocus(); + + userEvent.click(button); + expect(input).toHaveFocus(); + + userEvent.click(button); + expect(input).toHaveFocus(); + }); + it.each(["input", "textarea"])( "gives focus to <%s> when clicking a