UNPKG

react-accessible-tabs

Version:

Accessible React tabs component

58 lines (37 loc) 2.2 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _mocha = require('mocha'); var _enzyme = require('enzyme'); var _expect = require('expect'); var _expect2 = _interopRequireDefault(_expect); var _testData = require('../../tools/testData'); var _testData2 = _interopRequireDefault(_testData); var _Tab = require('./Tab'); var _Tab2 = _interopRequireDefault(_Tab); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _mocha.describe)('<Tab />', function () { (0, _mocha.it)('renders li.tabs__tab-list-item[role="presentation"]', function () { var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Tab2.default, null)); (0, _expect2.default)(wrapper.is('li.tabs__tab-list-item[role="presentation"]')).toBe(true); }); (0, _mocha.it)('contains 1 a.tabs__trigger[role="tab"]', function () { var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Tab2.default, null)); (0, _expect2.default)(wrapper.find('a.tabs__trigger[role="tab"]').length).toBe(1); }); (0, _mocha.it)('a has correct content', function () { var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Tab2.default, { label: _testData2.default[0].label })); var a = wrapper.find('a'); (0, _expect2.default)(a.text()).toBe('Tab 1'); }); (0, _mocha.it)('a has correct aria states when selected', function () { var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Tab2.default, { index: 0, selectedIndex: 0 })); var a = wrapper.find('a'); (0, _expect2.default)(a.prop('aria-selected') && a.prop('className').indexOf('is-selected') > -1 && a.prop('tabIndex') === 0).toBe(true); }); (0, _mocha.it)('a has correct aria states when un-selected', function () { var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Tab2.default, { index: 0, selectedIndex: 1 })); var a = wrapper.find('a'); (0, _expect2.default)(!a.prop('aria-selected') && a.prop('className').indexOf('is-selected') === -1 && a.prop('tabIndex') === -1).toBe(true); }); });