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