Files
react-native/Libraries/Components/Touchable/__tests__/TouchableOpacity-test.js
T
Subramanya Chakravarthy ea609defe8 Disable TouchableOpacity when accessibility disabled is set (#31108)
Summary:
When using a screen reader the TouchableOpacity component disables click functionality.
Fixes Issue https://github.com/facebook/react-native/issues/30951

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->

[Android] [Changed] - Message

Pull Request resolved: https://github.com/facebook/react-native/pull/31108

Test Plan: Added Exmple to Accessibility

Reviewed By: yungsters

Differential Revision: D28334356

Pulled By: kacieb

fbshipit-source-id: 3a3e8efaf57272d2091392f6d7d3e0ba0f2a9adc
2021-05-18 13:35:21 -07:00

53 lines
1.4 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @emails oncall+react_native
*/
'use strict';
const React = require('react');
const ReactTestRenderer = require('react-test-renderer');
const Text = require('../../../Text/Text');
const TouchableOpacity = require('../TouchableOpacity');
describe('TouchableOpacity', () => {
it('renders correctly', () => {
const instance = ReactTestRenderer.create(
<TouchableOpacity>
<Text>Touchable</Text>
</TouchableOpacity>,
);
expect(instance.toJSON()).toMatchSnapshot();
});
it('renders in disabled state when a disabled prop is passed', () => {
const instance = ReactTestRenderer.create(
<TouchableOpacity disabled={true}>
<Text>Touchable</Text>
</TouchableOpacity>,
);
expect(instance.toJSON()).toMatchSnapshot();
});
it('renders in disabled state when a key disabled in accessibilityState is passed', () => {
const instance = ReactTestRenderer.create(
<TouchableOpacity accessibilityState={{disabled: true}}>
<Text>Touchable</Text>
</TouchableOpacity>,
);
expect(instance.toJSON()).toMatchSnapshot();
});
it('has displayName', () => {
expect(TouchableOpacity.displayName).toEqual('TouchableOpacity');
});
});