Skip to content

Commit 235709f

Browse files
committed
feat: support toHaveAccessibleName matcher
1 parent 125c233 commit 235709f

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/matchers/__tests__/to-have-accessible-name.test.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react';
2-
import { View, Text, TextInput } from 'react-native';
2+
import { View, Text, TextInput, Image } from 'react-native';
33
import { render, screen } from '../..';
44
import '../extend-expect';
55

@@ -72,17 +72,26 @@ test('toHaveAccessibleName() handles view with "aria-labelledby" prop', () => {
7272
expect(element).not.toHaveAccessibleName('Other label');
7373
});
7474

75-
test('toHaveAccessibleName() handles view with implicit accessible name', () => {
75+
test('toHaveAccessibleName() handles Text with text content', () => {
7676
render(<Text testID="view">Text</Text>);
77+
7778
const element = screen.getByTestId('view');
7879
expect(element).toHaveAccessibleName('Text');
7980
expect(element).not.toHaveAccessibleName('Other text');
8081
});
8182

83+
test('toHaveAccessibleName() handles Image with "alt" prop', () => {
84+
render(<Image testID="image" alt="Test image" />);
85+
86+
const element = screen.getByTestId('image');
87+
expect(element).toHaveAccessibleName('Test image');
88+
expect(element).not.toHaveAccessibleName('Other text');
89+
});
90+
8291
test('toHaveAccessibleName() supports calling without expected name', () => {
8392
render(<View testID="view" accessibilityLabel="Test label" />);
84-
const element = screen.getByTestId('view');
8593

94+
const element = screen.getByTestId('view');
8695
expect(element).toHaveAccessibleName();
8796
expect(() => expect(element).not.toHaveAccessibleName()).toThrowErrorMatchingInlineSnapshot(`
8897
"expect(element).not.toHaveAccessibleName()

0 commit comments

Comments
 (0)