UNPKG

eslint-plugin-jsx-a11y

Version:

Static AST checker for accessibility rules on JSX elements.

86 lines (72 loc) 2.09 kB
import test from 'tape'; import getTabIndex from '../../../src/util/getTabIndex'; import IdentifierMock from '../../../__mocks__/IdentifierMock'; import JSXAttributeMock from '../../../__mocks__/JSXAttributeMock'; test('getTabIndex', (t) => { t.equal( getTabIndex(JSXAttributeMock('tabIndex', 0)), 0, 'tabIndex is defined as zero -> zero', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', 1)), 1, 'tabIndex is defined as a positive integer -> returns it', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', -1)), -1, 'tabIndex is defined as a negative integer -> returns it', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', '')), undefined, 'tabIndex is defined as an empty string -> undefined', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', 9.1)), undefined, 'tabIndex is defined as a float -> undefined', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', '0')), 0, 'tabIndex is defined as a string which converts to a number -> returns the integer', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', '0a')), undefined, 'tabIndex is defined as a string which is NaN -> returns undefined', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', true)), undefined, 'tabIndex is defined as true -> returns undefined', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', false)), undefined, 'tabIndex is defined as false -> returns undefined', ); t.equal( typeof getTabIndex(JSXAttributeMock('tabIndex', () => 0)), 'function', 'tabIndex is defined as a function expression -> returns the correct type', ); const name = 'identName'; t.equal( getTabIndex(JSXAttributeMock( 'tabIndex', IdentifierMock(name), true, )), name, 'tabIndex is defined as a variable expression -> returns the Identifier name', ); t.equal( getTabIndex(JSXAttributeMock('tabIndex', undefined)), undefined, 'tabIndex is not defined -> returns undefined', ); t.end(); });