Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 18 additions & 19 deletions src/internal/single-tab-stop/__tests__/context.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@ import {
SingleTabStopNavigationReset,
useSingleTabStopNavigation,
} from '../';
import {
setTestSingleTabStopNavigationTarget,
renderWithSingleTabStopNavigation,
TestSingleTabStopNavigationProvider,
} from '../test-helpers';
import { setTestSingleTabStopNavigationTarget, TestSingleTabStopNavigationProvider } from '../test-helpers';

// Simple STSN subscriber component
function Button(props: React.HTMLAttributes<HTMLButtonElement>) {
Expand Down Expand Up @@ -69,22 +65,25 @@ test('does not override tab index when keyboard navigation is not active', () =>
});

test('(legacy coverage) does not override tab index when keyboard navigation is not active', () => {
renderWithSingleTabStopNavigation(<Button id="button" />, { navigationActive: false });
render(
<TestSingleTabStopNavigationProvider navigationActive={false}>
<Button id="button" />
</TestSingleTabStopNavigationProvider>
);
expect(document.querySelector('#button')).not.toHaveAttribute('tabIndex');
});

test('does not override tab index for suppressed elements', () => {
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
<div>
render(
<TestSingleTabStopNavigationProvider navigationActive={true}>
<Button id="button1" />
<Button id="button2" />
<Button id="button3" tabIndex={-1} />
<Button id="button4" />
<Button id="button5" tabIndex={-1} />
</div>,
{ navigationActive: true }
</TestSingleTabStopNavigationProvider>
);
setCurrentTarget(document.querySelector('#button1'), [
setTestSingleTabStopNavigationTarget(document.querySelector('#button1'), [
document.querySelector('#button1'),
document.querySelector('#button2'),
document.querySelector('#button3'),
Expand All @@ -109,25 +108,25 @@ test('overrides tab index when keyboard navigation is active', () => {
});

test('(legacy coverage) overrides tab index when keyboard navigation is active', () => {
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
<div>
render(
<TestSingleTabStopNavigationProvider navigationActive={true}>
<Button id="button1" />
<Button id="button2" />
</div>
</TestSingleTabStopNavigationProvider>
);
setCurrentTarget(document.querySelector('#button1'));
setTestSingleTabStopNavigationTarget(document.querySelector('#button1'));
expect(document.querySelector('#button1')).toHaveAttribute('tabIndex', '0');
expect(document.querySelector('#button2')).toHaveAttribute('tabIndex', '-1');
});

test('does not override explicit tab index with 0', () => {
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
<div>
render(
<TestSingleTabStopNavigationProvider navigationActive={true}>
<Button id="button1" tabIndex={-2} />
<Button id="button2" tabIndex={-2} />
</div>
</TestSingleTabStopNavigationProvider>
);
setCurrentTarget(document.querySelector('#button1'));
setTestSingleTabStopNavigationTarget(document.querySelector('#button1'));
expect(document.querySelector('#button1')).toHaveAttribute('tabIndex', '-2');
expect(document.querySelector('#button2')).toHaveAttribute('tabIndex', '-2');
});
Expand Down
18 changes: 0 additions & 18 deletions src/internal/single-tab-stop/test-helpers/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// SPDX-License-Identifier: Apache-2.0

import React, { forwardRef, useCallback, useEffect, useRef } from 'react';
import { render } from '@testing-library/react';

import { FocusableChangeHandler, SingleTabStopNavigationContext } from '../';
import { useUniqueId } from '../../use-unique-id';
Expand Down Expand Up @@ -57,20 +56,3 @@ export const TestSingleTabStopNavigationProvider = forwardRef(
export const setTestSingleTabStopNavigationTarget: SetTarget = (focusTarget, suppressed) => {
Array.from(providerRegistry).forEach(([, provider]) => provider.setCurrentTarget(focusTarget, suppressed));
};

/**
* @deprecated - Use TestSingleTabStopNavigationProvider instead
*/
export function renderWithSingleTabStopNavigation(
ui: React.ReactNode,
{ navigationActive = true }: { navigationActive?: boolean } = {}
) {
const { container, rerender } = render(
<TestSingleTabStopNavigationProvider navigationActive={navigationActive}>{ui}</TestSingleTabStopNavigationProvider>
);
return {
container,
rerender,
setCurrentTarget: setTestSingleTabStopNavigationTarget,
};
}
1 change: 0 additions & 1 deletion src/internal/testing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ export { clearMessageCache } from './logging';
export { setGlobalFlag } from './global-flags';
export { clearVisualRefreshState } from './visual-mode';
export {
renderWithSingleTabStopNavigation,
TestSingleTabStopNavigationProvider,
setTestSingleTabStopNavigationTarget,
} from './single-tab-stop/test-helpers';
Loading