Skip to content

Commit cafb7d3

Browse files
committed
refactor: self code review
1 parent 23e9b56 commit cafb7d3

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

src/helpers/__tests__/component-tree.test.tsx

-4
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,4 @@ describe('getUnsafeRootElement()', () => {
228228
const view = screen.getByTestId('view');
229229
expect(getUnsafeRootElement(view)).toEqual(screen.UNSAFE_root);
230230
});
231-
232-
it('returns null for null', () => {
233-
expect(getUnsafeRootElement(null)).toEqual(null);
234-
});
235231
});

src/helpers/accessibility.ts

+10-5
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import {
55
Role,
66
StyleSheet,
77
} from 'react-native';
8-
import { ReactTestInstance } from 'react-test-renderer';
9-
import { getHostSiblings, getUnsafeRootElement } from './component-tree';
8+
import type { ReactTestInstance } from 'react-test-renderer';
9+
import { getHostSiblings, getUnsafeRootElement, isHostElement } from './component-tree';
10+
import { findAll } from './find-all';
1011
import { isHostImage, isHostSwitch, isHostText, isHostTextInput } from './host-component-names';
1112
import { getTextContent } from './text-content';
1213
import { isTextInputEditable } from './text-input';
@@ -161,9 +162,13 @@ export function computeAriaLabel(element: ReactTestInstance): string | undefined
161162
const labelElementId = element.props['aria-labelledby'] ?? element.props.accessibilityLabelledBy;
162163
if (labelElementId) {
163164
const rootElement = getUnsafeRootElement(element);
164-
const labelElement = rootElement?.findByProps({ nativeID: labelElementId });
165-
if (labelElement) {
166-
return getTextContent(labelElement);
165+
const labelElement = findAll(
166+
rootElement,
167+
(node) => isHostElement(node) && node.props.nativeID === labelElementId,
168+
{ includeHiddenElements: true },
169+
);
170+
if (labelElement.length > 0) {
171+
return getTextContent(labelElement[0]);
167172
}
168173
}
169174

src/helpers/component-tree.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,7 @@ export function getHostSiblings(element: ReactTestInstance | null): HostTestInst
9191
* @param element The element start traversing from.
9292
* @returns The root element of the tree (host or composite).
9393
*/
94-
export function getUnsafeRootElement(element: ReactTestInstance | null) {
95-
if (element == null) {
96-
return null;
97-
}
98-
94+
export function getUnsafeRootElement(element: ReactTestInstance) {
9995
let current = element;
10096
while (current.parent) {
10197
current = current.parent;

0 commit comments

Comments
 (0)