Add test to ensure ref argument to hook works

pull/28452/head
R Midhun Suresh 2024-11-13 20:21:45 +05:30
parent 27b62d022e
commit 84bd188dd7
No known key found for this signature in database
1 changed files with 19 additions and 0 deletions

View File

@ -120,6 +120,25 @@ describe("RovingTabIndex", () => {
checkTabIndexes(container.querySelectorAll("button"), [-1, -1, 0]); checkTabIndexes(container.querySelectorAll("button"), [-1, -1, 0]);
}); });
it("RovingTabIndexProvider provides a ref to the dom element", () => {
const nodeRef = React.createRef<HTMLButtonElement>();
const MyButton = (props: HTMLAttributes<HTMLButtonElement>) => {
const [onFocus, isActive, ref] = useRovingTabIndex<HTMLButtonElement>(nodeRef);
return <button {...props} onFocus={onFocus} tabIndex={isActive ? 0 : -1} ref={ref} />;
};
const { container } = render(
<RovingTabIndexProvider>
{() => (
<React.Fragment>
<MyButton />
</React.Fragment>
)}
</RovingTabIndexProvider>,
);
// nodeRef should point to button
expect(nodeRef.current).toBe(container.querySelector("button"));
});
it("RovingTabIndexProvider works as expected with RovingTabIndexWrapper", () => { it("RovingTabIndexProvider works as expected with RovingTabIndexWrapper", () => {
const { container } = render( const { container } = render(
<RovingTabIndexProvider> <RovingTabIndexProvider>