From 8a14e2a006c5114345ca9cecd73d1c2f6901636d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Jastrze=CC=A8bski?= Date: Thu, 8 Jan 2026 23:28:37 +0100 Subject: [PATCH] test(queries/role): validate getByRole name option fallback to text content --- src/queries/role.test.tsx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/queries/role.test.tsx diff --git a/src/queries/role.test.tsx b/src/queries/role.test.tsx new file mode 100644 index 00000000..455645c8 --- /dev/null +++ b/src/queries/role.test.tsx @@ -0,0 +1,22 @@ +import * as React from 'react'; +import { Text, View } from 'react-native'; +import { render } from '..'; + +it('finds elements by role with name option using text fallback when accessible name is not set', async () => { + const Component = () => ( + + + Submit Form + + + ); + + const { getByRole } = await render(); + + // When an element has a role but no accessible name, getByRole falls back + // to searching by text content - this is critical for testing components + // where accessible labels aren't explicitly set but text content identifies the element + const button = getByRole('button', { name: 'Submit Form' }); + expect(button).toBeOnTheScreen(); + expect(button.props.accessibilityRole).toBe('button'); +});