1010 * governing permissions and limitations under the License.
1111 */
1212
13- import { pointerMap , render } from '@react-spectrum/test-utils-internal' ;
13+ import { installPointerEvent , pointerMap , render } from '@react-spectrum/test-utils-internal' ;
1414import React from 'react' ;
1515import { ToggleButton , ToggleButtonGroup } from '../' ;
1616import userEvent from '@testing-library/user-event' ;
@@ -25,6 +25,7 @@ function renderGroup(props) {
2525}
2626
2727describe ( 'ToggleButtonGroup' , ( ) => {
28+ installPointerEvent ( ) ;
2829 let user ;
2930 beforeAll ( ( ) => {
3031 user = userEvent . setup ( { delay : null , pointerMap} ) ;
@@ -59,6 +60,17 @@ describe('ToggleButtonGroup', () => {
5960 }
6061 } ) ;
6162
63+ it ( 'should not show hover state when disabled' , async ( ) => {
64+ let { getAllByRole} = renderGroup ( { isDisabled : true , className : ( { isHovered} ) => ( isHovered ? 'hover' : '' ) } ) ;
65+ let radios = getAllByRole ( 'radio' ) ;
66+ await user . hover ( radios [ 0 ] ) ;
67+ expect ( radios [ 0 ] ) . not . toHaveAttribute ( 'data-hovered' ) ;
68+ expect ( radios [ 0 ] ) . not . toHaveClass ( 'hover' ) ;
69+ await user . hover ( radios [ 1 ] ) ;
70+ expect ( radios [ 1 ] ) . not . toHaveAttribute ( 'data-hovered' ) ;
71+ expect ( radios [ 1 ] ) . not . toHaveClass ( 'hover' ) ;
72+ } ) ;
73+
6274 it ( 'should support uncontrolled single selection' , async ( ) => {
6375 let onSelectionChange = jest . fn ( ) ;
6476 let { getByRole, getAllByRole} = renderGroup ( { selectionMode : 'single' , onSelectionChange} ) ;
0 commit comments