@gechiui/components
Version:
UI components for GeChiUI.
35 lines (31 loc) • 1 kB
JavaScript
/**
* GeChiUI dependencies
*/
import { RIGHT, UP, DOWN, LEFT, SPACE } from '@gechiui/keycodes';
/**
* Internal dependencies
*/
import { normalizeArrowKey } from '../keyboard';
describe( 'normalizeArrowKey', () => {
it.each`
keyCode | key | normalized
${ RIGHT } | ${ 'Right' } | ${ 'ArrowRight' }
${ UP } | ${ 'Up' } | ${ 'ArrowUp' }
${ DOWN } | ${ 'Down' } | ${ 'ArrowDown' }
${ LEFT } | ${ 'Left' } | ${ 'ArrowLeft' }
${ RIGHT } | ${ 'ArrowRight' } | ${ 'ArrowRight' }
${ UP } | ${ 'ArrowUp' } | ${ 'ArrowUp' }
${ DOWN } | ${ 'ArrowDown' } | ${ 'ArrowDown' }
${ LEFT } | ${ 'ArrowLeft' } | ${ 'ArrowLeft' }
${ SPACE } | ${ 'Space' } | ${ 'Space' }
`(
'should return $normalized for $key with keycode $keyCode',
( { keyCode, key, normalized } ) => {
const e = new window.KeyboardEvent( 'keydown', {
key,
keyCode,
} );
expect( normalizeArrowKey( e ) ).toEqual( normalized );
}
);
} );